我有一个PHP脚本,我从CLI运行。在Ubuntu中,我怎样才能从PHP执行多个同步终端?
脚本我有以下的循环中:
foreach($array as $key => $value){
exec("gnome-terminal -e php myscript.php $key $value > /dev/null");
}
我所期待发生的是,新的终端会弹出并运行我的脚本和相关参数在不同的终端窗口同时进行。
能够可视化数据只是为了调试。在确认脚本正常工作后,我想使用此命令在后台运行它:
exec("php myscript.php $key $value" > /dev/null &);
但是,两者都没有按预期工作。第二个命令即使运行,仍然会等待第一个脚本完成,然后才能进入下一个循环。
我使用的是Ubuntu 12.04。我怎样才能让它们同时运行以进行调试,然后在不同时在后台同时默默地运行?
既然你运行的另一个PHP过程中,你有没有考虑过使用叉? http://php.net/manual/en/function.pcntl-fork.php – 2013-04-25 09:45:40
尝试添加'&'将gnome-terminal启动到后台。 – 2013-04-25 09:46:38
@therefromhere我不熟悉pcntl_fork()。 php.net文档对我来说不是很清楚。你能举一个如何使用它的例子吗? – user658182 2013-04-25 09:53:42