如何优雅的退出/关闭/重启gunicorn进程

2019-08-26 17:12:33 浏览数 (1)

在搭建flask框架的时候,需要用到gunicorn,但是启动后结束是个问题。

于是上网搜下,发现下面的这个方法可行,而且效果贼好。

分享推荐!

简介 Gunicorn“绿色独角兽”是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能等特点。 Gunicorn 服务器作为wsgi app的容器,能够与各种Web框架兼容(flask,django等),得益于gevent等技术,使用Gunicorn能够在基本不改变wsgi app代码的前提下,大幅度提高wsgi app的性能。

1. 寻找masterpid

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

得到如下的结果。

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

2. 重启Gunicorn任务

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

代码语言:javascript复制
kill -HUP 9479

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

3. 退出Gunicorn任务

kill -9 9479

0 人点赞