我们正在使用 Supervisord 运行由我们的 Gearman 作业服务器启动的工作程序。要从队列中删除作业,我们必须运行:
$ sudo killall supervisord
以杀死所有 Supervisord 子进程,以便在删除时不会产生作业,然后
$ gearman -n -w -f FUNCTION_NAME > /dev/null
从服务器中删除作业完成。
有没有办法只杀死一个 Supervisord 子进程而不是使用killall
?例如,如果我们有多个作业正在运行并且单个作业的运行时间超过了应有的时间,或者开始抛出错误,我们如何在不杀死所有子进程的情况下终止子进程并从服务器中删除作业?