PHP-FPM子进程退出日志的两种解读哪个正确?求权威依据
PHP-FPM进程退出日志解读
首先明确:解读1是正确的。
核心判断依据
- 日志中
exited with code 0是关键标志:这代表进程是正常退出,而非被强制终止(强制终止一般会伴随非0退出码,或是明确显示被信号杀死的日志信息,比如killed by signal 9)。 - PHP-FPM中进程正常退出的常见场景:
- 达到
pm.max_requests配置的最大请求处理次数,进程主动退出以规避内存泄漏风险 - 触发
pm.process_idle_timeout配置的空闲超时,闲置进程被回收 - 达到
pm.max_lifetime配置的最大运行时长,进程主动退出以更新代码或释放资源
- 达到
为什么解读2不成立
如果进程是未完成执行就被强制终止,日志不会出现退出码0,反而会有非0退出码或明确的终止信号记录,当前日志完全不符合这类特征。
内容的提问来源于stack exchange,提问作者simonheinrich
相关产品推荐
相关产品推荐

