使用Linux终端启动了workerman然后直接关闭终端workerman并没有被退出

zzyzxhot

使用Linux终端启动了workerman然后直接关闭终端workerman并没有被退出

启动的是debug模式

因为我使用了 supervisor 来做启动项 我希望在 supervisor 停止的时候 workerman也可以正常的停止工作

7916 6 0
6个回答

zzyzxhot

而且我再次使用 stop 跟kill命令的时候 显示正常停止与正常杀死了进程 但是我的监听端口一直没有被释放

  • 暂无评论
walkor

因为你用了supervisor监控workerman,debug方式关闭终端workerman没退出时正常的,supervisor的作用就是监控某个程序,让它一直运行。是正常现象

  • zzyzxhot 2016-01-29

    你好.我并没有更改任何框架源码 参考你发的网址 问题还是没有被解决 我的workerman版本号是 3.2.3

  • walkor 2016-01-29

    可能终端原理不同吧,终端如果没有给workerman进程发送SIGINT信号,workerman就不会退出。这个和终端实现有可能关系。手册中也没有说debug模式关闭终端后一定退出。终端关闭workerman不退出也不是什么问题

  • zzyzxhot 2016-02-01

    我想问一下 如果我workerman 寄宿在supervisor的启动项内 当有一天我的需求是重启supervisor 那么是不是就意味着我的workerman不会被停止 每次都需要自己去手动重启workerman吗 而且关闭终端以后 并不是说他没有关闭 他关闭了 但是端口还占用在那里

  • zzyzxhot 2016-02-01

    每次我只能使用lsof -i:我的监听端口 然后 找到进程PID一个一个去使用kill命令结束

  • walkor 2016-02-01

    不清楚supervisor的机制

phpworker2

我也碰到过这种问题 有时杀不了workerman进程 提示stop成功 但是启动时提示端口被占用 只能重启电脑 才能启动workerman

  • 暂无评论
zzyzxhot

能手工置顶吗?我升级到最新的版本也是一样的问题

  • 暂无评论
walkor

这个不是workerman的问题,去问下supervisor作者吧。问下如何在supervisor退出的时候让它监控的程序也退出

  • 暂无评论
年代过于久远,无法发表回答
🔝