如何重新启动gunicorn hup,我不知道masterpid或PID文件的位置

RMK*_*RMK 3 django gunicorn

我想重新启动一个使用gunicorn运行的Django服务器.

我知道如何在我的系统中使用gunicorn.但是现在我需要重新启动一个我没有设置的远程服务器.

我不知道masterpid重启服务器我怎样才能获得masterPID.

通常我HUP用枪sudo kill -s HUP masterpid.

我试过了 ps aux|grep gunicorn

我没有在gunicorn.pid任何地方找到该文件.

我该masterpid怎么办?

小智 8

pstree -ap|grep gunicorn
Run Code Online (Sandbox Code Playgroud)

这将为您提供树结构,因为您可以找到主(父),在gunicorn您旁边可以找到PID(数字)


小智 7

您可以使用选项'-p'运行gunicorn,这样您就可以从pid文件中获取主进程的pid.例如:

gunicorn -p app.pid your_app.wsgi.app
Run Code Online (Sandbox Code Playgroud)

你可以通过以下方式获得主人的pid:

cat app.pid
Run Code Online (Sandbox Code Playgroud)


row*_*man 7

下面的一个衬垫可以完美地完成工作:

kill -HUP `ps -C gunicorn fch -o pid | head -n 1`
Run Code Online (Sandbox Code Playgroud)

解释

pc -C gunicorn只列出带有gunicorn命令的进程,即worker 和master进程。工人的孩子掌握作为可以使用看出ps -C gunicorn fc -o ppid,pid,cmd。我们只需要master的 pid ,因此hflag 用于删除第一行是 PID 文本。请注意,f标志确保master打印在工人上方。

正确的程序是HUP只向主机发送信号。以这种方式gunicorn优雅地重新启动,只重新创建工人,而不是主人