这篇文章将为大家详细讲解有关workerman关闭失败怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>运行php开始。php停止提示停止失败强>
<强>原因:几种可能性强>,,,,
<强>第一种可能性:强>
前提是以调试方式启动的workerman,开发者在终端按了按ctrl z给workerman发送了SIGSTOP信号,导致workerman进入后台并挂起(暂停),所以无法响应停止命令(SIGINT信号)。
<强>解决:强>
在启动workerman的终端输入成品(发送SIGCONT信号),然后回车,将workerman切回前台运行,按ctrl - c(发送SIGINT信号)停止workerman。
如果无法停止,尝试运行以下两条命令
killall 9, php ps 辅助| grep 小姐workerman | awk & # 39; {print $ 2} & # 39; | xargs kill 9
<强>第二种可能性:强>
运行停止的用户和workerman启动用户不一致,即停止用户没有权限停止workerman。
<>强解决:强>
切换到启动workerman的用户,或者用权限更高的用户停止workerman。
<强>第三种可能性:强>
保存workerman主进程pid文件被删除,导致脚本找不到pid进程,导致停止失败。
<>强解决:强>
将pid文件保存到安全的位置,参见手册工作人员::pidFile美元。
<强>第四种可能性:强>
workerman主进程pid文件对应的进程不是workerman进程。
<>强解决:强>
打开workerman的主进程的pid文件查看主进程pid, pid文件默认在workerman平行的目录里。
运行命令ps辅助| grep主进程pid查看对应的进程是否是workerman进程,如果不是,可能是服务器重启过,导致workerman保存的pid是过期的pid,而这个pid刚好被其它进程使用,导致停止失败。如果是这种情况,将pid文件删除即可。
关于“workerman关闭失败怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。