【发布时间】:2011-11-07 13:30:50
【问题描述】:
我一直在使用这个函数来检查一个进程是否正在运行。 (我从http://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/得到它):
function Is_Process_Running($PID){
exec("ps $PID", $ProcessState);
return(count($ProcessState) >= 2);
}
我的理解是,只有当数组 $ProcessState 中有两行以上时,该函数才会返回,如果进程处于活动状态,它将返回。
因此,在进程运行时编写代码来执行操作很容易,如下所示(也来自上面的链接):
while(is_process_running($PID))
{
echo(" . ");
ob_flush(); flush();
sleep(1);
}
但是,当流程完成后执行操作的最佳方式是什么?我试过了:
while(! is_process_running($PID))
但这不起作用,我认为因为它只通过循环一次。非常感谢任何帮助,谢谢!
【问题讨论】: