使用php加载页面时在后台执行java程序

时间:2010-10-30 03:29:29

标签: java php

我正在尝试使用php在后台运行java程序。我能够运行该程序,但在java程序完成执行之前页面不会加载。

我可以使用php在后台运行shell脚本。但是,如果我为java提供相同的命令,它不会在后台运行。

$command = "java hello";
$outputfile = "out1";
$pidfile = "out2";
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $command, $outputfile, $pidfile));

我如何在后台运行该程序?

2 个答案:

答案 0 :(得分:2)

我得到了以下内容:

shell_exec('java app.jar > /dev/null &');
exit();

具体来说,我试图通过TeamCity构建步骤中的脚本启动几个单独的进程。

答案 1 :(得分:0)

在exec的php文档中,它说:

如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。

所以你需要将javafile的输出更改为另一个终端,而不是php或文件可能更改为/ dev / null

相关问题