【发布时间】:2012-02-23 19:54:51
【问题描述】:
supervisord 面临的一个问题是,当我有一个命令生成另一个进程时,supervisord 无法杀死它。
例如,我有一个 java 进程,当它正常运行时就像
$ zkServer.sh start-foreground
$ ps -eaf | grep zk
user 30404 28280 0 09:21 pts/2 00:00:00 bash zkServer.sh start-foreground
user 30413 30404 76 09:21 pts/2 00:00:10 java -Dzookeeper.something..something
supervisord 配置文件如下所示:
[program:zookeeper]
command=zkServer.sh start-foreground
autorestart=true
stopsignal=KILL
在从supervisorctl 阻止它们时,supervisord 无法很好地处理这些具有多个子进程的进程。因此,当我从 supervisord 运行它并尝试从 supervisorctl 停止它时,只有*进程被杀死,而不是实际的 java 进程。
【问题讨论】:
标签: bash apache-zookeeper supervisord ubuntu-11.04