加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – supervisord停止子进程

发布时间:2020-12-15 16:17:54 所属栏目:安全 来源:网络整理
导读:其中一个问题,我面对supervisord是,当我有一个命令,反过来又产生另一个过程,supervisord不能够杀死它。 例如我有一个java进程,当运行正常是喜欢 $ zkServer.sh start-foreground $ ps -eaf | grep zk user 30404 28280 0 09:21 pts/2 00:00:00 bash zkS
其中一个问题,我面对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

这些具有多个孩子的过程不能很好地由supervisord处理,当它停止从supervisorctl。所以当我从supervisord运行这个,并试图停止它从supervisorctl,只有顶级进程被杀死,但不是实际的java进程。

Rick Hanlon II在这里遇到了同样的问题: https://coderwall.com/p/4tcw7w

应该在supervisord的程序部分中设置选项stopasgroup = true,以便不仅停止父进程,而且停止子进程。

示例给出:

[program:some_django]
 command=python manage.py runserver
 directory=/dir/to/app
 stopasgroup=true

另外,记住,你可能有一个较旧的supervisord包没有“stopasgroup”功能。
我在Raspberry Pi上试过这些Debian软件包:

> supervisor_3.0a8不工作。> supervisor_3.0b2-1按预期工作。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读