gpt4 book ai didi

linux - Shell脚本执行失败

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:00 27 4
gpt4 key购买 nike

我写了一个 shell 脚本来重启 celery。我的操作系统是 Ubuntu 16.04.3。
我尝试运行这个 shell 脚本,只是杀死了 celery 进程,但没有启动一个新的 celery 加工过程。为什么?
这是我的代码。

ps -ef | grep celery | awk '{print $2}' | grep -v grep |xargs kill -9;
celery -A loan_app.tasks worker --loglevel=info --workdir=`pwd` --logfile=/tmp/celery.log --pidfile=/var/run/celery_pid -D

最佳答案

来自官方文档: http://docs.celeryproject.org/en/latest/userguide/workers.html请阅读以粗体突出显示的文本。

停止 worker 应使用 TERM 信号完成关机。

当启动关闭时,worker 将在它实际终止之前完成所有当前正在执行的任务。如果这些任务很重要,您应该等待它完成,然后再做任何激烈的事情,比如发送 KILL 信号。

如果 worker 在相当长的时间后仍未关闭,因为陷入无限循环或类似情况,您可以使用 KILL 信号强制终止 worker:但请注意当前正在执行的任务将会丢失(即,除非任务设置了 acks_late 选项)。

此外,由于进程无法覆盖 KILL 信号,worker 将无法获取其子进程;确保手动执行此操作。这个命令通常可以解决问题:

$ pkill -9 -f ' celery worker '如果你的系统上没有 pkill 命令,你可以使用稍微长一点的版本:

$ ps auxww | grep ' celery worker ' | awk '{print $2}' | xargs kill -9

关于linux - Shell脚本执行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49626693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com