无法重新启动php7.0-fpm。 儿童进程挂

要清除我的PHP应用程序的opcache,我希望能够重新启动php7.0-fpm.service

我使用Ubuntu 17.04(Zesty Zapus),nginx / 1.10.3和php-fpm7.0。 在服务器上,我正在通过gluster挂载一个文件系统。

当我的应用程序运行一段时间,我尝试重新启动php-fpm与systemctl restart php7.0-fpm.service它需要很长时间来终止命令。 之后,PHP的FPM不会再次启动。

 systemctl restart php7.0-fpm.service Job for php7.0-fpm.service failed because the control process exited with error code. See "systemctl status php7.0-fpm.service" and "journalctl -xe" for details. 

重启之前的进程列表:

 root 819 0.0 1.4 366356 58764 ? Ss Jul10 0:02 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) www-data 23129 0.0 0.8 458412 35664 ? S Jul10 0:06 php-fpm: pool www www-data 24320 0.0 0.8 458404 35372 ? S Jul10 0:07 php-fpm: pool www www-data 25587 1.3 0.8 457420 35352 ? S 09:36 0:26 php-fpm: pool www www-data 25589 0.4 0.8 458516 35940 ? S 09:36 0:08 php-fpm: pool www www-data 25590 0.3 0.8 458408 36184 ? S 09:36 0:06 php-fpm: pool www www-data 25595 0.3 0.8 458404 36368 ? S 09:36 0:06 php-fpm: pool www www-data 25630 0.3 0.8 458404 35864 ? S 09:37 0:06 php-fpm: pool www www-data 25655 0.3 0.8 458380 35644 ? S 09:38 0:06 php-fpm: pool www www-data 25769 0.0 0.9 464552 40300 ? S Jul10 0:04 php-fpm: pool www www-data 26179 0.4 0.8 458376 35996 ? S 09:47 0:06 php-fpm: pool www www-data 26181 0.4 0.8 458376 35988 ? S 09:47 0:06 php-fpm: pool www www-data 26184 0.2 0.8 458380 35788 ? S 09:47 0:03 php-fpm: pool www www-data 26825 0.4 0.8 458376 35136 ? S 10:00 0:02 php-fpm: pool www www-data 26970 0.4 0.8 458376 35152 ? S 10:03 0:01 php-fpm: pool www www-data 27201 0.4 0.8 458376 33892 ? S 10:07 0:00 php-fpm: pool www www-data 27366 0.4 0.7 458376 31004 ? S 10:09 0:00 php-fpm: pool www root 27453 0.0 0.0 15804 1024 pts/0 S+ 10:10 0:00 grep --color=auto php www-data 28371 0.0 0.9 463472 38140 ? S 00:07 0:00 php-fpm: pool www www-data 28664 0.0 0.8 458376 34296 ? D 00:11 0:07 php-fpm: pool www www-data 28668 0.0 0.8 457412 33732 ? D 00:11 0:10 php-fpm: pool www 

重启后的进程列表:

 www-data 23129 0.0 0.8 458412 35664 ? D Jul10 0:06 php-fpm: pool www www-data 24320 0.0 0.8 458404 35372 ? D Jul10 0:07 php-fpm: pool www www-data 25769 0.0 0.9 464552 40300 ? D Jul10 0:04 php-fpm: pool www www-data 28371 0.0 0.9 463472 38140 ? D 00:07 0:00 php-fpm: pool www www-data 28664 0.0 0.8 458376 34296 ? D 00:11 0:07 php-fpm: pool www www-data 28668 0.0 0.8 457412 33732 ? D 00:11 0:10 php-fpm: pool www root 28732 0.0 0.0 15804 992 pts/0 S+ 10:34 0:00 grep --color=auto php 

看来subprocess不能停止,因为他们正在等待IO。 但我不明白什么是真正的问题。 而我不明白为什么进程只有在尝试重新启动时进入状态D. 在重新启动之前,所有的工作都很完美

试图在重启失败后启动php-fpm也是不成功的:

 Jul 11 10:40:45 ct-instances102 php-fpm7.0[29066]: [11-Jul-2017 10:40:45] ERROR: An another FPM instance seems to already listen on /run/php/php7.0-fpm.sock Jul 11 10:40:45 ct-instances102 php-fpm7.0[29066]: [11-Jul-2017 10:40:45] ERROR: FPM initialization failed 

我发现唯一的解决办法是重新启动服务器,让php-fpm再次运行。

我有一个想法,但我不知道如何validation它。 虽然gluster挂载点没有问题,但问题可能与它所访问的gluster挂载点有关。