zoukankan      html  css  js  c++  java
  • 如何优雅的退出/关闭/重启gunicorn进程

    在工作中,会发现gunicorn启动的web服务,无论怎么使用kill -9 进程号都是无法杀死gunicorn,经过我一番百度和谷歌,发现想要删除gunicorn进程其实很简单。

    1. 寻找masterpid

    通过执行如下命令,可以获取Gunicorn进程树:
    pstree -ap|grep gunicorn

    得到如下的结果。

    |-grep,6194 --col gunicorn
      |   `-gunicorn,30080 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,4413 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,8030 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,8135 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,8137 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,11532 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,13460 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,19728 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,23585 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,23825 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,27921 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,28899 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,28900 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,28901 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,35637 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,36963 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,43074 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,43118 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,43232 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,43307 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,43308 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,44018 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,46996 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       |-gunicorn,47000 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
      |       `-gunicorn,47650 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py
    

    很显然,30080就是Gunicorn的主进程。

    2. 重启Gunicorn任务

    按照官方的推荐方法,很容易执行命令:

    kill -HUP 30080
    

    执行上述命令后,再次执行“pstree -ap|grep gunicorn”,我们很容易发现,除了主进程,其他的Gunicorn进程都已经销毁,并新建了进程(进程ID发生了变化)。

    3. 退出Gunicorn任务

    kill -9 30080
    

    原文网址:优雅的退出/关闭/重启gunicorn进程

  • 相关阅读:
    poj2187 Beauty Contest (凸包 + 旋转卡壳)
    codevs1298, hdu1392 (凸包模板)
    Codeforces Round #427 (Div. 2) E. The penguin's game (交互题,二进制分组)
    poj1655 Balancing Act (dp? dfs?)
    poj1654 -- Area (任意多边形面积)
    codeforces#426(div1) B
    poj1011 Sticks (搜索经典好题)
    考试题
    使用SMM框架开发企业级应用-----打印机案例
    使用SMM框架开发企业级应用-----Spring简介即Spring Ioc
  • 原文地址:https://www.cnblogs.com/huchong/p/9844024.html
Copyright © 2011-2022 走看看