問題:啟動腳本里執行Worker::stopAll()并不能停止workerman,Worker::stopAll()只有在運行workerman的主進程里執行才有效,外部其它進程執行沒有效果。
停止Workerman的流程是
1、找到Workerman主進程pid
2、給pid發送SIGINT信號(posix_kill(SIGINT, pid))
3、workerman主進程收到SIGINT信號后自身執行Worker::stopAll()完成服務停止。
?
這三個步驟workerman內部應封裝好,調用流程是
1、設置$argv = ‘stop’;
2、運行Worker::runAll();
?推薦:workerman
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦