PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码

代码如下:

$command = '/usr/bin/php /pub/www/u111/job/Crondo/auto_collector.php &'; 
$process = proc_open($command, array(),$pipes); 
$var = proc_get_status($process); 
proc_close($process); 

//pid就是进程ID,至于为什么要加1,我现在也没有搞懂,经过多次的测试,发现$var['pid']得到的ID比实际的少1 
$pid = intval($var['pid'])+1; 

//杀死进程 
proc_close(proc_open('kill -9 '.$pid, array(), $pipes));

相关推荐