【发布时间】:2014-07-20 03:47:53
【问题描述】:
好的,所以我有一个操作系统 Ubuntu。我有灯。现在我想在后台执行一些命令,这将至少需要 10-15 分钟才能执行。我想从 Web 界面而不是 cli 的 PHP 脚本执行此命令。
一审:
当我这样做时,php脚本可以在后台成功运行命令:
command1 &> /dev/null &
二审:
但是当我这样做时:
command1 &> /dev/null && command2 &
,
然后该命令不会在后台运行,php 脚本会暂停,直到该命令执行。我希望 command2 在 command1 完成后执行,以便我(或我的 php 脚本)可以知道 command1 已被执行。但它应该在后台,否则我的 php 脚本不会按时执行。
当我从命令行执行第二个实例时,它能够在后台运行,但是当我从 php 脚本执行时,它无法在后台运行。
我正在使用 php 的 exec 函数来执行这些命令。
<?php
exec('command1 &> /dev/null && command2 &',$out,$ret);
?>
任何帮助将不胜感激。
【问题讨论】:
-
您是否尝试过使用两个
exec语句,一个接一个? -
您可能需要
&而不是&&。