尽我所能,我不能杀死这些芹菜工人。
我跑:
celery --app=my_app._celery:app status
我看到我有3个(我不明白为什么3个工人= 2个节点,如果你知道请解释)
芹菜@ ip-x-x-x-x:好的 芹菜@ ip-x-x-x-x:好的 celery@named-worker.%ip-x-x-x-x:好的
2个在线节点。
我跑(以root身份):
ps auxww | grep 'celery@ip-x-x-x-x' | awk '{print $2}' | xargs kill -9
工人们不断重新出现一个新的PID。
请帮我杀了他们。
答案 0 :(得分:4)
pid不断变化的进程称为comet
。即使此过程的pid不断变化,其进程组ID仍保持不变。所以你可以通过发送信号来杀死。
ps axjf | grep '[c]elery' | awk '{print $3}' | xargs kill -9
或者,您也可以使用pkill
pkill -f celery
这将使用全名celery
杀死所有进程。
答案 1 :(得分:3)
pkill -f celery
从命令行运行,这将在与芹菜相关的进程中终止。
答案 2 :(得分:0)
我总是使用:
ps auxww | grep 'celery' | awk '{print $2}' | xargs kill -9
如果您正在使用supervisord
来运行芹菜,则还需要杀死supervisord
进程。
答案 3 :(得分:0)
1)在控制台中,输入:
ps -aux | grep celery
我得到: simon 24615 3.8 0.6 344276 219604 pts / 3 S + 22:53 0:56 / usr / bin / python3 /home/simon/.local/bin/celery -A worker_us_task worker -l info -Q us_queue --concurrency = 30 -n us_worker @%h
2)选择 -A 之后的内容,然后输入:
pkill -9 -f 'worker_us_task worker'