在工作中,会发现gunicorn启动的web服务,无论怎么使用kill -9 进程号都是无法杀死gunicorn
第一步 :
获取Gunicorn进程树:
pstree -ap|grep gunicorn
得到的结果如下
Python
| | |-grep,14519 --color=auto gunicorn
| -gunicorn,28097 /usr/local/bin/gunicorn query_site.wsgi:application -c ... | |-gunicorn,14226 /usr/local/bin/gunicorn query_site.wsgi:application -c ... | | |-{gunicorn},14229 | | |-{gunicorn},14230 | | |-{gunicorn},14231 | | |-{gunicorn},14232 | | |-{gunicorn},14233 | | |-{gunicorn},14234 | | |-{gunicorn},14236 | | |-{gunicorn},14237 | | |-{gunicorn},14238 | | |-{gunicorn},14239 | | |-{gunicorn},14240 | | |-{gunicorn},14241 | | |-{gunicorn},14242 | | |-{gunicorn},14243 | |
-{gunicorn},14244
2 重启Gunicorn任务
kill -HUP 14226
3.退出Gunicorn任务
kill -9 28097
执行上述命令后,再次执行“pstree -ap|grep gunicorn”,我们很容易发现,除了主进程,其他的Gunicorn进程都已经销毁,并新建了进程(进程ID发生了变化)。