我们正在使用 Supervisord 来运行由 Gearman 作业服务器启动的工作程序。要从队列中删除作业,我们必须运行:
$ sudo killall supervisord
要杀死所有 Supervisord 子进程,以便该作业在删除时不会生成,然后
$ gearman -n -w -f FUNCTION_NAME > /dev/null
从服务器上完全删除作业。
有没有一种方法可以只杀死一个 Supervisord 子进程而不是使用 killall
?例如,如果我们有多个作业正在运行,并且单个作业的运行时间超过了应有的时间,或者开始抛出错误,那么我们如何在不终止所有子进程的情况下终止子进程并从服务器中删除该作业?
最佳答案
是:使用 supervisorctl
与supervisord交互。如果您需要以编程方式执行此操作,可以使用 Web 服务接口(interface)。
关于python - Supervisord 进程控制 - 停止单个子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924083/