supervisor 重启 golang 项目时产生僵尸进程怎么办

查看 86|回复 6
作者:zhuoyue100   
golang 项目(服务器 A )使用 exec 包在服务器 B 上执行脚本,执行过程中如果 supervisor 重启 golang 项目,服务器 b 上进程就成了僵尸进程, 这个如何解决?
问:golang 项目需要单独接收 supervisor 重启信号?怎么接收?

Golang, Supervisor, 重启, 服务器

codersdp1   
os/signal 包处理信号,不过 得先测试下 supervisor 重启发送的是什么信号。
zhuoyue100
OP
  
@codersdp1 好的
dzdh   
重启发送 term 信号。结束进程就行了。至于你说的产生僵尸进程是因为没有监听端口吗?如果有的话不应该新进程起不来么。stop 超过等待时间会强制 kill 进程,你开子进程了?
zhuoyue100
OP
  
@dzdh 没有监听端口,就是执行一个业务脚本 比如:统计日志信息 当然有一些复杂的业务执行需要很久。但是重启的话我需要将这个进程强杀掉,重新执行
june4   
换 systemd
dzdh   
@zhuoyue100 #4
killasgroup=true
stopasgroup=true
stopwaitsecs=600 600 秒没停止强制 kill
非常驻进程不适合用 supervisor 跑
您需要登录后才可以回帖 登录 | 立即注册

返回顶部