Supervisord agregando múltiples procesos para PHP y Gearman

Recientemente configuré Ubuntu Natty con PHP5-FPM, Gearman y Supervisor. He editado mi configuración de Supervisor para ejecutar un trabajador de Gearman.

[program:gearman] 
command=/usr/bin/php php_gearman_worker.php
numprocs=1 
directory=/root/sandbox
stdout_logfile=/root/sandbox/supervisord.log 
environment=GEARMAN_USER=gearman 
autostart=true
autorestart=true
user=gearman

Aquí está la información relevante (que muestra solo procesos gearmand y php) cuando Ilsof -i -P antes de ejecutar la supervisión:

COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
gearmand  29314  gearman    6u  IPv4 328139      0t0  TCP localhost:4730 (LISTEN)    

Y esto es lo que obtengo cuando yolsof -i -P después de que yo/etc/init.d/supervisor stop && /etc/init.d/supervisor start.

COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
gearmand  29314  gearman    6u  IPv4 328139      0t0  TCP localhost:4730 (LISTEN)
gearmand  29314  gearman   11u  IPv4 328206      0t0  TCP localhost:4730->localhost:39072 (ESTABLISHED)
php       29571  gearman    4u  IPv4 329744      0t0  TCP localhost:39072->localhost:4730 (ESTABLISHED)

No veo ningún listado para el supervisor en sí, ¿debería ver al supervisor como uno de los comandos?!

e todos modos, cuando me detengo y empiezo (o reinicio) el supervisor de nuevo:

COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
gearmand  29314  gearman    6u  IPv4 328139      0t0  TCP localhost:4730 (LISTEN)
gearmand  29314  gearman   11u  IPv4 328206      0t0  TCP localhost:4730->localhost:39072 (ESTABLISHED)
gearmand  29314  gearman   12u  IPv4 329754      0t0  TCP localhost:4730->localhost:51570 (ESTABLISHED)
php       29571  gearman    4u  IPv4 329744      0t0  TCP localhost:39072->localhost:4730 (ESTABLISHED)
php       29619  gearman    4u  IPv4 327233      0t0  TCP localhost:51570->localhost:4730 (ESTABLISHED)

Parece que cada vez que paro y comienzo a supervisar, crea otro proceso de php y luego otro. Es solo cuando reinicio el equipo y que vuelve a la normalidad, es decir,/etc/init.d/gearman-job-server stop && /etc/init.d/gearman-job-server start.

Esto me parece anormal, ya que cuando dejo de supervisar, se supone que debe detener a

¿Es así como funciona el supervisor? ¿Hay alguna manera de evitar que esto suceda?!

Gracias por adelantado

EDITA

Descubrí lo que estaba causando el problema. Fue un pequeño conflicto con supervisord.conf y mi script de inicio.

Mi archivo supervisord.conf tenía la siguiente configuración:

pidfile=/tmp/supervisord.pid

Pero mi script de inicio en/etc/init.d/supervisord tenía la siguiente configuración:

NAME=supervisord
PIDFILE=/var/run/$NAME.pid

Así que acabo de cambiar la configuración en supervisord.conf para que coincida con lo que estaba en mi script de inicio.

Además, agreguéstopsignal=KILL a la configuración del programa en mi archivo de configuración de supervisor (supervisord.conf).

Gracias a Minaz por la dirección.

Respuestas a la pregunta(1)

Su respuesta a la pregunta