首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数以千计的外来工人

数以千计的外来工人
EN

Stack Overflow用户
提问于 2017-10-21 00:30:47
回答 1查看 1.1K关注 0票数 0

我正在为Django项目(Ubuntu14.04机器)使用带有nginx反向代理的gunicorn 19.7.1 appserver。

ps aux | grep gunicorn | grep -v grep | wc -l目前的产量为3043

而在/etc/init/gunicorn.conf,我一直有-w 33。然而,即使我做了sudo service gunicorn stopsudo service gunicorn start,这些额外的员工依然存在。

我怎样才能杀死那些外来工人?

这是怎么回事?

33的员工计数总是在我繁忙的生产系统上正确配置的。

然而,几个小时前,我在服务器上尝试python的multiprocessing,结果事情变糟了。Gunicorn的工人们把所有的记忆都消耗掉了,同时也取出了当地的redis实例。

我恢复了这一变化,并设法恢复了所有的东西,除了记忆体还没有被释放,我不得不应付这些遗留的枪手工人。到底怎么回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-21 04:03:54

然而,即使我做了sudo service gunicorn stopsudo service gunicorn start,这些额外的员工依然存在。

service只管理service-initiated进程,因此如果您在服务框架之外启动Gunicorn员工,即使您使用stop,这些工作人员也会继续生存。

我怎样才能杀死那些外来工人?

的快速方式:

运行此命令列出所有gunicorn进程ID并终止它们,然后重新启动Gunicorn:

代码语言:javascript
复制
$ pkill gunicorn
$ sudo service gunicorn start

更好的方法:

  1. 通过找到你的父母来确定你“想要的”Gunicorn员工: $ sudo服务 注意父进程ID,假设它是123
  2. 保存所有“所需”员工PID的列表: $ echo 123 > desired_workers $ pgrep -P 123 >> desired_workers
  3. 保存所有工作人员PID的列表: $ pgrep > all_workers
  4. 终止“不想要的”工人: $ cat desired_workers all_workers all_workers排序\ uniq -u \ xargs杀死
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46858963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档