這個函式非常適合檢查指定的處理程序是否正在執行,我看過一些解決方案涉及執行系統工具(例如 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);
}