此函数非常适合检查给定进程是否正在运行,我见过一些解决方案涉及运行像 PS 这样的系统实用程序并解析答案,这应该可以正常工作,但这允许您使用单个调用来检查给定的 PID。
function CheckPID( $PID )
{
// 检查传入的 PID 是否代表系统中的有效进程
// 如果是,则返回 true
// 暂时关闭非致命运行时警告,因为我们知道
// 如果 PID 不代表有效进程,我们将得到一个警告
$oldErrorLevel = error_reporting(0);
error_reporting( $oldErrorLevel & ~E_WARNING );
$res = pcntl_getpriority($PID);
error_reporting( $oldErrorLevel);
return ! ( $res === false);
}