在php中从exec()获取pid

在php中从exec()获取pid,php,exec,pid,Php,Exec,Pid,我需要使用exec()执行一个脚本并获取pid $pid = exec("./runtunnel $remoteip $remoteport $localport"); 执行命令的实际代码如下所示: exec ( string $command [, array &$output [, int &$return_var ]] ) 因此,要获得输出,需要添加第二个参数: $pid = exec("./runtunnel $remoteip $remoteport $localp

我需要使用exec()执行一个脚本并获取pid

$pid = exec("./runtunnel $remoteip $remoteport $localport");

执行命令的实际代码如下所示:

exec ( string $command [, array &$output [, int &$return_var ]] )
因此,要获得输出,需要添加第二个参数:

$pid = exec("./runtunnel $remoteip $remoteport $localport",$output);
$output
将具有输出


.

在unix中,可以添加此项以仅获取PID:

$command = $yourCommand . ' > /dev/null 2>&1 & echo $!'; 
exec($command, $output);
$pid = (int)$output[0];

希望对您有所帮助:)

@user3722254检查此链接最后一行应该是
$pid=(int)$output[0]它会等到执行结束吗?我不这么认为so@FlashThunder“&”表示它是在后台启动的。之后,
echo$并返回最后一个PID。此外,
exec
返回输出的最后一行,因此无需从
$output
获取PID。只需执行
$pid=exec('command>/dev/nul/2>&1&echo$!')
这不是真的:)