1
我有一个条件,我必须在指定端口上启动iperf服务器作为后台进程,并且如果iperf服务器正在运行,我必须向客户端发送响应。我试过在laravel 4.2后台运行任务
shell_exec('iperf -s -p {port} -D');
但它不返回控制/无限循环开始。 服务器将启动,但shell_exec
以下的代码将不会执行。 任何人有一个解决方案或建议我应该如何处理这个来获得结果?
我有一个条件,我必须在指定端口上启动iperf服务器作为后台进程,并且如果iperf服务器正在运行,我必须向客户端发送响应。我试过在laravel 4.2后台运行任务
shell_exec('iperf -s -p {port} -D');
但它不返回控制/无限循环开始。 服务器将启动,但shell_exec
以下的代码将不会执行。 任何人有一个解决方案或建议我应该如何处理这个来获得结果?
你的命令iperf -s -p {port} -D
恰好有stderr输出,试试这样做:
$outfile = "/tmp/erroutperf.out";
$port = 8080;
shell_exec("iperf -s -p $port -D > $outfile 2>&1");
基本附加命令> /tmp/erroutperf.out 2>&1
,告诉Bash程序(iperf的)的两个标准错误输出和标准输出保存 到一个文件/ TMP/erroutperf.out
获取命令的输出是:
file_get_contents($outfile);