【问题标题】:Having trouble killing linux processes无法杀死 linux 进程
【发布时间】:2015-06-08 13:06:21
【问题描述】:

我正在尝试按照How to restart Celery gracefully without delaying tasks 更改代码后重新启动 celery。基于此,我跑了:

(env1)ubuntu@ip-172-31-22-65:~/projects/tp$ ps aux|grep "celery"
ubuntu    2701  0.3  3.7 107788 37904 ?        S    12:17   0:00 /home/ubuntu/.virtualenvs/env1/bin/python3.4 /home/ubuntu/.virtualenvs/env1/bin/celery --app=tp.celery:app worker --loglevel=INFO
ubuntu    2705  0.0  3.3 107120 34132 ?        S    12:17   0:00 /home/ubuntu/.virtualenvs/env1/bin/python3.4 /home/ubuntu/.virtualenvs/env1/bin/celery --app=tp.celery:app worker --loglevel=INFO
ubuntu    2716  0.0  0.0  10460   932 pts/0    S+   12:20   0:00 grep --color=auto celery
(env1)ubuntu@ip-172-31-22-65:~/projects/tp$ sudo kill -9 2701 2705
(env1)ubuntu@ip-172-31-22-65:~/projects/tp$ ps aux|grep "celery"
ubuntu    2720 16.3  3.7 107796 37908 ?        S    12:25   0:00 /home/ubuntu/.virtualenvs/env1/bin/python3.4 /home/ubuntu/.virtualenvs/env1/bin/celery --app=tp.celery:app worker --loglevel=INFO
ubuntu    2724  0.0  3.3 107144 34084 ?        S    12:25   0:00 /home/ubuntu/.virtualenvs/env1/bin/python3.4 /home/ubuntu/.virtualenvs/env1/bin/celery --app=tp.celery:app worker --loglevel=INFO
ubuntu    2726  0.0  0.0  10460   932 pts/0    S+   12:25   0:00 grep --color=auto celery

我不明白这里发生了什么。在我杀死前 2 个之后,似乎出现了 2 个新的 celery 工作进程。

我做错了什么?

【问题讨论】:

  • 为什么 Python 被标记???
  • 您的芹菜工人是否受到监督(例如由主管)?如果是这样,主管将在每次“崩溃”后重新生成 celery 工作进程。
  • 是的,它由主管控制
  • Python 被标记是因为我在这里处理芹菜
  • @user61629 那么为什么不在supervisorctrl restart celery_worker 之前使用supervisorctrl update

标签: linux ubuntu celery


【解决方案1】:

我没有看到任何证据表明你做错了什么。

Celery 是进程的集合。最重要的是一个主管,可以让一些工人准备好回答请求。

工人是一次性的,但主管不能告诉工人在做什么。当一个工人退出时,主管会收到一个信号并启动一个新的。就是这样。

如果您更改了配置,主管可以重新配置自己(如果您已经如此配置了!),但工作人员不会关注该配置。它们仅在出生时才进行配置。

你用“kill”做的是杀死那些工人,并期望替代工人在他们出生时拥有你想要的设置。

要求主管停止自己和工作人员,然后重新加载,然后重新开始,可能会留下几秒钟的时间,没有任何请求得到答复。据我所知,这就是supervisorctl 的好处。

所以,你告诉我们的任何事情都没有明显的错误。当然,您应该期望工人会被替换。

【讨论】:

  • 嗨,乍得感谢您提供的信息。您如何让主管“停止自己和工人”?
  • 顺便说一句,你介意看看stackoverflow.com/questions/29402447/…。这是我问当前问题的问题。
猜你喜欢
  • 1970-01-01
  • 2013-08-05
  • 2015-06-01
  • 2016-07-13
  • 1970-01-01
  • 2015-01-06
  • 2018-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多