PHP SISPTS,通过SHILL EXEX运行,在中间死亡
我有这样一个PHP脚本:PHP SISPTS,通过SHILL EXEX运行,在中间死亡,php,linux,shell,Php,Linux,Shell,我有这样一个PHP脚本: foreach ($items as $item) { if ($condition) { shell_exec("php background.php > /dev/null 2>/dev/null &"); } } 后台脚本大约需要10秒,并且应该在每次if语句为true时并行运行。问题是,尽管通常情况下它会按计划进行,但有时后台脚本不会完全执行。像这样的并行执行是否有任何限制?如果有,服务器杀
foreach ($items as $item) {
if ($condition) {
shell_exec("php background.php > /dev/null 2>/dev/null
&");
}
}
后台脚本大约需要10秒,并且应该在每次if语句为true时并行运行。问题是,尽管通常情况下它会按计划进行,但有时后台脚本不会完全执行。像这样的并行执行是否有任何限制?如果有,服务器杀死一个进程执行另一个进程是否是正常的行为
UPD:顺便说一句,如果我加强条件,减少同时进行的过程的数量,一切都会很顺利。你真的不应该启动这样的后台过程,不管它是相对较短的过程 最好使用以下建议的替代方案: 短版本是
shell_exec('echo/usr/bin/php-q longThing.php|
目前),代码>但此处包含的原因有点长
您真的不应该启动这样的后台进程,不管它是相对较短的进程
最好使用以下建议的替代方案:
短版本是shell_exec('echo/usr/bin/php-q longThing.php|
目前),代码>但此处包含的原因有点长
这不会使我的循环速度变慢吗?与你的相比,它不会影响“循环速度”。好的,我已经更改了它,但问题仍然存在。有时背景脚本无法完成。顺便说一句,如果我加强条件,减少同步进程的数量,一切都会很顺利。这不会使我的循环速度变慢吗?与你的情况相比,它不会影响“循环速度”。好的,我已经更改了它,但问题仍然存在。有时背景脚本无法完成。顺便说一句,如果我加强条件,减少同步进程的数量,一切都会很顺利。在做其他事情之前,确保background.php
不会因为代码而失败。在做其他事情之前,确保background.php
不会因为代码而失败。