Taken from <a href="http://www.linuxjournal.com/content/bash-sub-shells" target="_blank">here.
<span class=\"c\">#!/bin/bash</span>
<span class="nv">server_cmd</span><span class="o">=</span>server
<span class="nv">pid_file</span><span class="o">=</span><span class="k">$(</span>basename <span class="nv">$server_cmd</span> .sh<span class="k">)</span>.pid
<span class="nv">log_file</span><span class="o">=</span><span class="k">$(</span>basename <span class="nv">$server_cmd</span> .sh<span class="k">)</span>.log
<span class="o">(</span>
<span class="nb">echo</span> <span class="s2">"Starting server"</span>
<span class="nb">echo</span> <span class="s2">"Doing some init work"</span>
<span class="nv">$server_cmd</span> <span class="c"># server becomes a daemon</span>
<span class=\"k\">while </span><span class=\"nb\">true</span>
<span class="nb"> </span><span class="k">do</span>
<span class="k"> if</span> <span class="o">[[</span> -f <span class="nv">$pid_file</span> <span class="o">]]</span>; <span class="k">then</span>
<span class="k"> </span>sleep 15
<span class="k">else</span>
<span class="k"> </span><span class="nb">break</span>
<span class="nb"> </span><span class="k">fi</span>
<span class="k"> done</span>
<span class="k"> </span>mail -s <span class="s2">"Server exitted"</span> joe@blow.com <<<CRAP
Continue reading