运行 laravel 4.2 后台任务

Running tasks in background in laravel 4.2

我有一个条件,我必须在指定端口上将 iperf 服务器作为守护进程启动,如果 iperf 服务器是 运行,我必须向客户端发送响应。我试过了

shell_exec('iperf -s -p {port} -D'); 

但它不会 return 控制/无限循环开始。 服务器将启动,但 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) 的 stderr 输出和 stdout 到文件 /tmp/erroutperf.out

获取命令的输出是:

file_get_contents($outfile);