Supervisord只产生一个实例

我有以下问题:

这是我的supervisord.conf-addition:

[program:gearman-test-worker] process_name=%(program_name)s_%(process_num)02d command=/usr/bin/php /path/to/gearman-jobs/worker.php numprocs=5 directory=/path/to/gearman-jobs/ stdout_logfile=/var/log/gearman-job-server/supervisord.log environment=GEARMAN_USER=gearman autostart=true autorestart=true user=gearman stopsignal=KILL 

当我启动supervisord -n它只会产生1个实例,而不是5个。消息看起来很好

 [root@pc113 gearman-jobs]# supervisord -n 2013-09-03 14:24:58,775 CRIT Supervisor running as root (no user in config file) 2013-09-03 14:24:58,789 INFO /var/tmp/supervisor.sock:Medusa (V1.1.1.1) started at Tue Sep 3 14:24:58 2013 Hostname: <unix domain socket> Port:/var/tmp/supervisor.sock 2013-09-03 14:24:58,850 CRIT Running without any HTTP authentication checking 2013-09-03 14:24:58,850 INFO supervisord started with pid 8722 2013-09-03 14:24:58,853 INFO spawned: 'gearman-test-worker' with pid 8723 2013-09-03 14:24:59,858 INFO success: gearman-test-worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 

并没有暗示为什么它只是产生一个单一的事例。 你能帮我吗?

如果每个进程都要在不同的端口上运行,那么它可能会尝试在同一个端口上产生每个进程

您可以使用

 numprocs_start=<PORT_NUM> 

并将process_num传递给您正在尝试通过该命令启动的内容

完整的程序configuration我已经使用了python脚本

 process_name=inf_svr%(process_num)s directory=/media/sf_Projects/inf_api/inf_api/ environment=USER=root,PYTHONPATH=/usr/bin/ command=python /media/sf_Projects/inf_api/inf_api/inf_server.py --port=%(process_num)s startsecs=2 user=root autostart=true autorestart=true numprocs=4 numprocs_start=8080