www 4053 4046 3 16:06 ? 00:00:00 /opt/work/venv/bin/uwsgi xxxx 上面就是我出现的问题情况. 我起的 web 服务的父进程是脚本. 导致阻塞了脚本了.
1
xiangyuhahah OP 本身这个脚本就是一个子进程. 脚本中起的 web 服务变成脚本的子进程了. 我想 web 服务的父进程 PID 是 1. 怎么操作?
|
2
ruanimal 2020-05-25 18:14:13 +08:00
nohup ?
|
3
jimmyismagic 2020-05-25 18:17:49 +08:00
加个后台运行就好了 uwsgi.ini 里加一行
daemonize=uwsgi.log |
4
xiangyuhahah OP @jimmyismagic daemonize=uwsgi.log 已经用了. 没有解决问题
|
5
xiangyuhahah OP 最后是& 解决的问题
|
6
clino 2020-05-25 19:08:05 +08:00 via Android
我一般用 supervisor 管理 daemon
|
7
clino 2020-05-25 19:10:28 +08:00 via Android
脚本如果用 python,用 os.popen,可以做到不挂起
|
8
Sanko 2020-05-26 08:41:09 +08:00 via Android
一般我用 nohup xxx &
|
9
xiangyuhahah OP @clino 我也和 leader 推荐过 supervisor, leader 不想用
|
10
julyclyde 2020-05-26 11:54:14 +08:00
所以说白了其实还是不应该在脚本里启动后台服务
应该把后台服务托管给 init/systemd |
11
xiangyuhahah OP @julyclyde 嗯嗯, 可以用 setsid 来做这件事
|