所以基本上我想运行大约15k pdf文件的脚本,并且需要从shell完成,因为php max_timeout ......
服务器:Ubuntu 10.04.1 PHP:5.3.2-1ubuntu4.5
所以我目前的尝试:
function run_in_background($Command){
$ps = shell_exec("nohup php5 $Command > /dev/null 2> /dev/null & echo $!");
return $ps;
}
$ok = run_in_background('/var/www/custom/web/public/make_pdf.php');
if(!empty($ok))
var_dump($ok);
else
exit('Fail');
然后我去ssh控制台并做ps $ps
并作为回应我只收到没有信息的标题 - 女巫意味着进程没有运行......
我怎么能这样做呢?
答案 0 :(得分:1)
尝试放一个&命令后:
$ps = shell_exec("nohup php5 $Command & > /dev/null 2> /dev/null & echo $!");
答案 1 :(得分:1)
尝试不使用echo $!
或以&
结尾。如果您想运行2个进程'内联',请使用&&
而不是简单的&
。
示例:nohup php5 $Command > /dev/null 2> /dev/null && echo $! &
检查过程是否以错误结束:
nohup php5 $Command > command_stout.txt 2> command_stderr.txt && echo $! &