workerman以守護(hù)進(jìn)程的方式運(yùn)行正常,開啟了。但是隔天查看。status顯示not run的。這是什么原因造成的 大佬們有類似的經(jīng)歷嗎
首先這個(gè)肯定不是workerman的問(wèn)題,最大的可能是程序發(fā)生了內(nèi)存泄漏,所有的workeman進(jìn)程都被系統(tǒng)干掉了,可以通過(guò)檢查 workerman.log 里是否有異常報(bào)告以及運(yùn)行系統(tǒng)命令 dmesg 看看是否有 OOM 關(guān)鍵字來(lái)進(jìn)行排查。
手冊(cè)有說(shuō)明:
65280:導(dǎo)致這個(gè)退出碼的原因是業(yè)務(wù)代碼有致命錯(cuò)誤,例如調(diào)用了不存在的函數(shù)、語(yǔ)法錯(cuò)誤等,具體錯(cuò)誤信息會(huì)記錄到Worker::logFile指定的文件中,也可以在php.ini中error_log指定的文件中(如果有指定的話)找到。
這個(gè)65280已經(jīng)很明顯的說(shuō)明了你的業(yè)務(wù)代碼自身有問(wèn)題,從業(yè)務(wù)代碼自身排查解決即可,另外最好設(shè)定下 Worker::logFile,以便排查具體錯(cuò)誤。