子进程与主进程bash-shell php分离


child processes seperate from main process bash shell php

我正在从php代码中调用sell脚本具有

foreach ($some_array) {
     shell_exec(nohup $code); 
}

类似于

我希望所有的shell_exec调用都独立于邮件进程工作,邮件进程是php执行,我们称之为shell脚本

但它并没有像我预期的那样工作,所有的shell执行都是在上一个完成之后开始的

那么,我如何将这个shell_exec调用作为独立的子进程,使它们不等待彼此完成

提前感谢

添加'&'到要执行的命令的末尾,以便它在后台工作。

对于一系列命令,请将它们括在括号内,然后将&符号,但一定要将stdout、stderr重定向到某个地方,否则您的脚本将挂起等待,例如:

<?php
exec('( sleep 10; echo "finished" | mail ian@example.com ) &> /dev/null &');
?>

请参阅http://us.php.net/manual/en/function.exec.php

将它们发送到后台

shell_exec("nohup somecommand &");
                              ^---run job in background