假设它在Linux机器上运行,我总是这样处理:
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));这将启动命令
$cmd,将命令输出重定向到
$outputfile,并将进程ID写入
$pidfile。
这样一来,您可以轻松地监视该进程在做什么以及它是否仍在运行。
function isRunning($pid){ try{ $result = shell_exec(sprintf("ps %d", $pid)); if( count(preg_split("/n/", $result)) > 2){ return true; } }catch(Exception $e){} return false;}


