# Script to check and restart a process

<div class="sourceCode" id="bkmrk-%23%21%2Fbin%2Fbash-%23-------">```
<span id="bkmrk-"><a aria-hidden="true" href="#bkmrk-" tabindex="-1"></a></span>
<span id="bkmrk-%23%21%2Fbin%2Fbash"><a aria-hidden="true" href="#bkmrk-%23%21%2Fbin%2Fbash" tabindex="-1"></a><span class="co">#!/bin/bash</span></span>
<span id="bkmrk-%23-------------------"><a aria-hidden="true" href="#bkmrk-%23-------------------" tabindex="-1"></a><span class="co"># -------------------------------------------------------------------------</span></span>
<span id="bkmrk-%23-copyright-%28c%29-2003"><a aria-hidden="true" href="#bkmrk-%23-copyright-%28c%29-2003" tabindex="-1"></a><span class="co"># Copyright (c) 2003 nixCraft project <http://cyberciti.biz/fb/></span></span>
<span id="bkmrk-%23-this-script-is-lic"><a aria-hidden="true" href="#bkmrk-%23-this-script-is-lic" tabindex="-1"></a><span class="co"># This script is licensed under GNU GPL version 2.0 or above</span></span>
<span id="bkmrk-%23--------------------1"><a aria-hidden="true" href="#bkmrk-%23--------------------1" tabindex="-1"></a><span class="co"># -------------------------------------------------------------------------</span></span>
<span id="bkmrk-%23-this-script-is-par"><a aria-hidden="true" href="#bkmrk-%23-this-script-is-par" tabindex="-1"></a><span class="co"># This script is part of nixCraft shell script http://en.wikipedia.org/wiki/Shell_script collection (NSSC)</span></span>
<span id="bkmrk-%23-visit-http%3A%2F%2Fbash."><a aria-hidden="true" href="#bkmrk-%23-visit-http%3A%2F%2Fbash." tabindex="-1"></a><span class="co"># Visit http://bash.cyberciti.biz/ for more information.</span></span>
<span id="bkmrk-%23-copyright-%28c%29-2010"><a aria-hidden="true" href="#bkmrk-%23-copyright-%28c%29-2010" tabindex="-1"></a><span class="co"># Copyright (c) 2010 CyberOrg Info. Modification to watch any process/service </span></span>
<span id="bkmrk-%23--------------------2"><a aria-hidden="true" href="#bkmrk-%23--------------------2" tabindex="-1"></a><span class="co"># -------------------------------------------------------------------------</span></span>
<span id="bkmrk-restart%3D%22%2Fetc%2Finit.d"><a aria-hidden="true" href="#bkmrk-restart%3D%22%2Fetc%2Finit.d" tabindex="-1"></a><span class="va">RESTART</span><span class="op">=</span><span class="st">"/etc/init.d/sshd restart"</span></span>
<span id="bkmrk-pgrep%3D%22%2Fusr%2Fbin%2Fpgre"><a aria-hidden="true" href="#bkmrk-pgrep%3D%22%2Fusr%2Fbin%2Fpgre" tabindex="-1"></a><span class="va">PGREP</span><span class="op">=</span><span class="st">"/usr/bin/pgrep"</span></span>
<span id="bkmrk-processtowatch%3D%22sshd"><a aria-hidden="true" href="#bkmrk-processtowatch%3D%22sshd" tabindex="-1"></a><span class="va">processtowatch</span><span class="op">=</span><span class="st">"sshd"</span></span>
<span id="bkmrk-x%3D1"><a aria-hidden="true" href="#bkmrk-x%3D1" tabindex="-1"></a><span class="va">x</span><span class="op">=</span>1</span>
<span id="bkmrk-while-%5B-%24x-%3D-1-%5D%3B"><a aria-hidden="true" href="#bkmrk-while-%5B-%24x-%3D-1-%5D%3B" tabindex="-1"></a><span class="cf">while</span> <span class="bu">[</span> <span class="va">$x</span> <span class="ot">=</span> 1 <span class="bu">]</span><span class="kw">;</span></span>
<span id="bkmrk-do"><a aria-hidden="true" href="#bkmrk-do" tabindex="-1"></a><span class="cf">do</span> </span>
<span id="bkmrk-%23-find-pid"><a aria-hidden="true" href="#bkmrk-%23-find-pid" tabindex="-1"></a>    <span class="co"># find pid</span></span>
<span id="bkmrk-%24pgrep-%24%7Bprocesstowa"><a aria-hidden="true" href="#bkmrk-%24pgrep-%24%7Bprocesstowa" tabindex="-1"></a>    <span class="va">$PGREP</span> <span class="va">${processtowatch}</span></span>
<span id="bkmrk-if-%5B-%24%3F--ne-0-%5D"><a aria-hidden="true" href="#bkmrk-if-%5B-%24%3F--ne-0-%5D" tabindex="-1"></a>    <span class="cf">if</span> <span class="bu">[</span> <span class="va">$?</span> <span class="ot">-ne</span> 0 <span class="bu">]</span></span>
<span id="bkmrk-then"><a aria-hidden="true" href="#bkmrk-then" tabindex="-1"></a>    <span class="cf">then</span></span>
<span id="bkmrk-echo-%22%60date%60-%3A-%24proc"><a aria-hidden="true" href="#bkmrk-echo-%22%60date%60-%3A-%24proc" tabindex="-1"></a>        <span class="bu">echo</span> <span class="st">"</span><span class="kw">`</span><span class="fu">date</span><span class="kw">`</span><span class="st"> : </span><span class="va">$processtowatch</span><span class="st"> went down, restarting"</span> <span class="op">>></span> /var/log/restart.log</span>
<span id="bkmrk-%24restart"><a aria-hidden="true" href="#bkmrk-%24restart" tabindex="-1"></a>        <span class="va">$RESTART</span></span>
<span id="bkmrk-fi"><a aria-hidden="true" href="#bkmrk-fi" tabindex="-1"></a>    <span class="cf">fi</span></span>
<span id="bkmrk-sleep-30"><a aria-hidden="true" href="#bkmrk-sleep-30" tabindex="-1"></a>    <span class="fu">sleep</span> 30</span>
<span id="bkmrk-done"><a aria-hidden="true" href="#bkmrk-done" tabindex="-1"></a><span class="cf">done</span></span>
```

</div>