首页 > 工作 > php-fpm用pkill -9引发的问题

php-fpm用pkill -9引发的问题

现象:
QA对线上服务进行验收后,没人任何人操作的情况下,php-fpm自动终止了。
结果是线上服务在QA验收通过后一段时间挂了。

经过推演和日志佐证,暂时得出的结论是:
运维人员使用pkill -9 终止php-fpm后,忘记启动了。

推演出来的原因:
pkill -9会先枚举php-fpm所有的进程,然后逐个kill -9操作。
枚举完成后,kill掉php-fpm的master之前,有可能master会产生新的worker,这个间隙的worker成为漏网之鱼,当worker到达设定的响应次数后,自动退出。

除了php-fpm,所有master/worker机制工作的服务,都存在此类问题,比如:nginx
这类服务在运维的时候,需要用标准方式,或者pkill两遍,来避免此问题。

分类: 工作 标签: , ,
  1. 本文目前尚无任何评论.