workerman停止失败原因及解决方法
导读:
下面分析几种可能的原因:
第一种可能性:
前提是以debug方式启动的workerman,开发者在终端按了ctrl z给workerman发送了SIGSTOP信号,导致workerman进入后台并挂起(暂停),所以无法响应stop命令(SIGINT信号)。
解决:
在启动workerman的终端输入fg(发送SIGCONT信号)然后回车,将workerman切回前台运行,按ctrl c(发送SIGINT信号)停止workerman。
如果无法停止,尝试运行以下两条命令
killall -9 phpps aux|grep -i workerman|awk '{print $2}'|xargs kill -9
第二种可能性:
运行stop的用户和workerman启动用户不一致,即stop用户没有权限停止workerman。
解决:
切换到启动workerman的用户,或者用权限更高的用户停止workerman。
第三种可能性:
保存workerman主进程pid文件被删除,导致脚本找不到pid进程,导致停止失败。
解决:
将pid文件保存到安全的位置,参见手册Worker::$pidFile。
第四种可能性:
workerman主进程pid文件对应的进程不是workerman进程。
解决:
打开workerman的主进程的pid文件查看主进程pid,pid文件默认在Workerman平行的目录里。运行命令 ps aux | grep 主进程pid 查看对应的进程是否是Workerman进程,如果不是,可能是服务器重启过,导致workerman保存的pid是过期的pid,而这个pid刚好被其它进程使用,导致停止失败。如果是这种情况,将pid文件删除即可。
相关推荐
PHP json_decode()报错 json_last_error()判断错误类型及解决方法
PHP json_decode()报错 json_last_error()判断错误类型 解决背景:最近在用curl请求接口获取json数据串的时候,一直出现PHP中json_decode()解析字符串…
2022-10-29 21:45:57 | 分类:PHP | 作者:myerob | 阅读:544 | 标签:PHP json_decode() 报错 json_last_error() 判断错误类型 解决方法 | 收藏
CSS中设置height:100%无效的原因分析和解决方法
我们知道在把盒子宽度自适应为浏览器窗口宽度,只需设置width:100%就可轻松解决问题,但是让盒子的高度自适应浏览窗口的高度并非那么容易,下面举个例子:代码如下:<!-- 高度实际为字体大小 …
2022-10-30 12:24:34 | 分类:HTML,CSS | 作者:myerob | 阅读:1711 | 标签:CSS 设置 height:100% 无效 原因分析 解决方法 | 收藏
- 阅读榜
- 1. BCD码的定义以及其与十进制数据转换方法(附验证工具)
- 2. Win10删除驱动?无需担心,快速有效的方法在这里!
- 3. 什么情况下免征教育附加税,地方教育附加税?两附加费优惠政策
- 4. 记录一个非常实用的前端拖拽插件interact.js(JS前端开发)
- 5. 离职员工申报个税删不掉 显示存在收入明细,若该人员已离职或退休,请将人员状态改为非正常。可改为非正常后还是不行
- 6. 记录一个合成图片插件html2canvas.js(JS前端开发)
- 7. GB2312汉字编码字符集对照表
- 8. NTC热敏电阻B值3950(温度系数对照表)
- 9. 电压稳压器LM317的典型应用电路总结
- 10. JS实现类似Marquee的无缝滚动代码