Supervisord can do all this and more.  It&#39;s a full service process manager that can manage daemons in any language, including pools of FastCGI processes.<br><br><a href="http://supervisord.org/" target="_blank">http://supervisord.org/</a><br>

<br>It has an XML-RPC interface and cmd line tool (supervisorctl) so you can send commands to the process manager as it&#39;s running (for example, starting and stopping a given process or process pool).  It even has a language-agnostic event listening API so that you can monitor process manager events and take your own custom actions (such as sending yourselves alerts if a process dies).<br>

<br>Here&#39;s a sample config for managing a pool of 5 foo.pl processes and 2 bar.pl processes.<br><br>  [fcgi-program:foo]<br>        socket=tcp://<a href="http://127.0.0.1:4000">127.0.0.1:4000</a><br>        process_name = %(program_name)s_%(process_num)s<br>
        command = /path/to/foo.pl<br>        numprocs = 5<br><br>  [fcgi-program:bar]<br>        socket=unix:///path/to/fcgi/socket<br>        process_name = %(program_name)s_%(process_num)s<br>        command = /path/to/bar.pl<br>
        numprocs = 2<br><br>The FCGI spawning has not been officially released but it&#39;s well unit tested in the SVN repo.  Just run easy_install <a href="http://svn.supervisord.org/supervisor/trunk/">http://svn.supervisord.org/supervisor/trunk/</a><br>
<br><div class="gmail_quote">On Sat, Feb 28, 2009 at 2:03 PM, mike <span dir="ltr">&lt;<a href="mailto:mike503@gmail.com" target="_blank">mike503@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

fcgiwrap is slowly becoming a must have in my toolbox :)<br>
<br>
hopefully soon i will start using it in production. want to get<br>
comfortable with it first.<br>
<br>
On Sat, Feb 28, 2009 at 4:17 AM, Grzegorz Nosek<br>
<div>&lt;<a href="mailto:grzegorz.nosek@gmail.com" target="_blank">grzegorz.nosek@gmail.com</a>&gt; wrote:<br>
</div><div><div></div><div>&gt; On czw, lut 26, 2009 at 02:20:18 -0800, mike wrote:<br>
&gt;&gt; oh, dur. I would need one<br>
&gt;&gt;<br>
&gt;&gt; spawn-fcgi fcgiwrap etc ...<br>
&gt;&gt;<br>
&gt;&gt; for -every- &quot;child&quot; instance available. since it only does PHP<br>
&gt;&gt; children itself, yeah?<br>
&gt;<br>
&gt; It&#39;s your lucky day ;) Grab a new fcgiwrap snapshot and run it like:<br>
&gt;<br>
&gt; spawn-fcgi (...) -- fcgiwrap -c 10<br>
&gt;<br>
&gt; to have 10 processes preforked (the pool has a static size). This code<br>
&gt; is rather experimental (may not survive a kill-all-children-in-a-tight-loop<br>
&gt; test) but looks like it&#39;s working.<br>
&gt;<br>
&gt; Best regards,<br>
&gt;  Grzegorz Nosek<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br>