【发布时间】:2014-07-07 11:17:22
【问题描述】:
我试图将 script2.php 的执行延迟 10 秒,但不是整个 script1.php。当我在顶部的 script2.php 中放置一个 sleep(10) 时,不幸的是 script1 也被延迟,正如底部的输出所证明的那样。
<?php
{
echo date("H:i:s");
exec("nohup php script2.php $id $host '$status' '$nagios_host' &> /dev/null &");
echo date("H:i:s");
echo("nohup script2.php $id $host '$status' '$nagios_host' &> /dev/null &");
echo date("H:i:s");
echo $id." - ".$host." - ".$status." - ".$nagios_host."\n";
}
?>
这是script1.php的输出:
11:09:35
nohup: redirecting stderr to stdout
11:09:45
nohup php script2.php 1341234 blabla.com 'blabla alert => CRITICAL' 'nagios01.blabla.com' &> /dev/null &
11:09:45
1341234 - blabla.com - blabla alert => CRITICAL - nagios01.blabla.com
【问题讨论】:
-
"> /dev/null 2>/dev/null &" 而不是 "&> /dev/null &" 似乎有效,不知道为什么......