php进程在X时间之后由ppid 1拥有

我有一个运行WHM的CentOS服务器,它使用FastCGI( mod_fcgid )在SuExec上运行Apache 2.0上的PHP 5.2.17。 当我启动Apache时,它开始罚款和服务请求。 如果我以root身份在terminal上运行ps ,我会看到php进程,它们由它们的httpd父进程拥有。

经过X次的时间 – 不同的时间,通常不会超过几个小时 – 服务器将开始产生由init进程ID( 1 )拥有的PHP作业,

良好的上市示例:

 12918 18254 /usr/bin/php 12918 18257 /usr/bin/php 12918 18293 /usr/bin/php 12918 18545 /usr/bin/php 12918 18546 /usr/bin/php 12918 19016 /usr/bin/php 12918 19948 /usr/bin/php 

然后后来这样的事情:

 1 6800 /usr/bin/php 1 6801 /usr/bin/php 1 7036 /usr/bin/php 1 8788 /usr/bin/php 1 10488 /usr/bin/php 1 10571 /usr/bin/php 1 10572 /usr/bin/php 

1 )拥有的php进程永远不会被清理干净。 为什么这些程序正在运行? 在服务器运行的代码中,我们不使用setsid或超出基本PHP的任何东西。

欢呼和感谢

这些进程的父进程已经死了,但是它们本身并没有终止,所以它们已经成为孤儿,因此被进程1所采用,即初始化。 当发生这种情况时,软件通常会遇到问题,您可能需要考虑升级到更新的版本。