linux重启某个主进程


这里以重启gunicorn为例子

  • 查找主进程id(masterpid ) 通过执行以下命令,获取进程树

    pstree -ap|grep gunicorn
  • 执行结果:

    ubuntu@ip-172-31-17-237:~$ pstree -ap|grep gunicorn
    |               |-grep,2784 --color=auto gunicorn
    |   `-gunicorn,1279 /home/ubuntu/.virtualenvs/alpfaceblog/bin/gunicorn DjangoBlog.wsgi:application--n
    |       |-gunicorn,2777 /home/ubuntu/.virtualenvs/alpfaceblog/bin/gunicorn DjangoBlog.wsgi:application--n
    |       |-gunicorn,2778 /home/ubuntu/.virtualenvs/alpfaceblog/bin/gunicorn DjangoBlog.wsgi:application--n
    |       `-gunicorn,2779 /home/ubuntu/.virtualenvs/alpfaceblog/bin/gunicorn DjangoBlog.wsgi:application--n

    从进程树上可以看到1279 是主进程

  • 重启

    sudo kill -HUP 1279

执行上述命令后,再次执行pstree -ap|grep gunicorn,可以发现,除了主进程id没变,其他的Gunicorn进程都已经销毁,并新建了进程(进程ID发生了变化)

屏幕快照 2018-03-18 上午10.19.29

附件: