为何workerman关闭操作未能成功完成?
- 内容介绍
- 文章标签
- 相关推荐
本文共计345个文字,预计阅读时间需要2分钟。
相关专题内容摘要:
原因:几种可能性 (推荐学习: workerman教程)
第一种可能性:
前提是以debug方式启动的workerman,开发者在终端按了ctrl z给workerman发送了SIGSTOP信号,导致workerman进入后台并挂起(暂停),所以无法响应stop命令(SIGINT信号)。
解决:
在启动workerman的终端输入fg(发送SIGCONT信号)然后回车,将workerman切回前台运行,按ctrl c(发送SIGINT信号)停止workerman。
如果无法停止,尝试运行以下两条命令
killall -9 php ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9
第二种可能性:
运行stop的用户和workerman启动用户不一致,即stop用户没有权限停止workerman。
解决:
切换到启动workerman的用户,或者用权限更高的用户停止workerman。
第三种可能性:
保存workerman主进程pid文件被删除,导致脚本找不到pid进程,导致停止失败。
本文共计345个文字,预计阅读时间需要2分钟。
相关专题内容摘要:
原因:几种可能性 (推荐学习: workerman教程)
第一种可能性:
前提是以debug方式启动的workerman,开发者在终端按了ctrl z给workerman发送了SIGSTOP信号,导致workerman进入后台并挂起(暂停),所以无法响应stop命令(SIGINT信号)。
解决:
在启动workerman的终端输入fg(发送SIGCONT信号)然后回车,将workerman切回前台运行,按ctrl c(发送SIGINT信号)停止workerman。
如果无法停止,尝试运行以下两条命令
killall -9 php ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9
第二种可能性:
运行stop的用户和workerman启动用户不一致,即stop用户没有权限停止workerman。
解决:
切换到启动workerman的用户,或者用权限更高的用户停止workerman。
第三种可能性:
保存workerman主进程pid文件被删除,导致脚本找不到pid进程,导致停止失败。

