平时正常使用workerman 运行项目,输入 php start_ads_client_5mf.php start 会这样提示:
Workerman[start_ads_client_5mf.php] start in DEBUG mode
------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.0.41 PHP version:7.4.28 Event-Loop:\Workerman\Events\Event
-------------------------------------------- WORKERS ---------------------------------------------
proto user worker listen processes status
tcp www ads_client_5mf none 13 [OK]
--------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
当磁盘用满时,程序无法启动,输入启动指令一直卡在这个界面,就算将磁盘空间释放后仍然无法解决,同时同一服务器上的多个项目均出现相同的问题。
只能使用root用户reboot服务器,然后又可以恢复正常
请位各位是否有遇到过?要怎么解决?
workerman 4.0.41
CentOS7.9
PHP7.4.28
我遇到过这个问题,最后定位和workerman没关系,是因为磁盘没释放成功。
有些文件被一些进程引用着,虽然在磁盘上删除了文件,但实际文件还存在还占用着磁盘,只不过是通过文件系统看不到它而而已。引用着文件的进程仍然可以读写这个文件。除非把这些进程关掉,否则磁盘无法真正释放。
非常感谢! 我通过 lsof | grep deleted 定位到未删除的文件是日志文件 $logFile 和 $stdoutFile,将文件手动删除以后即恢复正常。
1.可用strace 命令跟踪下看看 是卡在那里了
2.确认下文件 是不是deleted状态,清理掉
https://blog.csdn.net/weixin_43700866/article/details/124928929
你的方法非常有效,我通过 lsof | grep deleted 定位到未删除的文件是日志文件 $logFile 和 $stdoutFile,将文件手动删除以后即恢复正常。 非常感谢!