webman框架經(jīng)常重啟或者關(guān)閉之后,htop發(fā)現(xiàn)存在僵尸進程,確定不是pid文件被覆蓋的問題。重啟跟stop都正常。之前用workorman3.4的版本是沒有出現(xiàn)這種現(xiàn)象的?,F(xiàn)在webman中workerman版本4.0.19。請問從什么地方排查原因呢?
查看worker.log
這個是僵尸進程的運行內(nèi)容
這個不是僵尸進程,是進程沒有退出干凈。
看下業(yè)務(wù)代碼是否用了pcntl_fork
另外啟動后 ps auxf
看下webman進程關(guān)系并截圖,stop后出現(xiàn)僵尸進程后 ps auxf
看下進程關(guān)系并截圖。
項目搜索pcntl_fork,只在worker.php上存在使用。出現(xiàn)頻率蠻高,開發(fā)期間幾天會出現(xiàn)一次,生產(chǎn)環(huán)境也在更新版本時出現(xiàn)了。等下次出現(xiàn)在評論中截圖
現(xiàn)在是在本地的服務(wù)端出現(xiàn)的,之前就是收到kill掉,后面發(fā)現(xiàn)線上生產(chǎn)環(huán)境-d守護模式也出現(xiàn)了
workerman 信號相關(guān)做了一些優(yōu)化,更新到 workerman 4.0.29 試下。 composer require workerman ^4.0.29