2

我一直在尝试通过 php 表单执行 java 应用程序..所以提交按钮触发执行命令:

exec("java -jar c:\edu.uniroma3.jar c:\parameter2BPassed");

第一个路径确定 jar 文件的位置,第二个用作参数。

问题是脚本需要很长时间才能处理,我想绕过等待,有没有办法做到(就像火灾和忘记)?该脚本将结果写入一个文件,如果文件在那里,我可以每 5 分钟检查一次,但是等待进程完成很不方便......

有什么建议么 ?

先感谢您

4

4 回答 4

1

我认为这是同一个问题

PHP中的异步shell exec

正如评论所指出的,上述仅适用于 *nix 环境,但我发现 Windows 与此类似:

http://www.somacon.com/p395.php

尽管如此,考虑其他解决方案可能会更好,例如一个单独的进程,您可以将工作发送到未连接到网络服务器的工作。

网络服务器有时会回收进程,而后台进程并不总是孤立的,就我所读到的,所以你可能会杀死你的外部进程,除非它是完全独立的。

于 2011-02-08T12:03:22.117 回答
0

由于您在 Windows 上并且需要启动 java 程序,因此您可以使用 javaw.exe 而不是 java.exe。

windows上的javaw,旨在在不打开cmd窗口的情况下启动jvm。也许它可以帮助

于 2011-02-08T12:32:00.810 回答
0

我也想在这里添加解决方案: 像魔术一样工作:) thx alot ircmaxell
$shell = new COM("WScript.Shell");
$shell->run($command, 0, false);

于 2011-02-08T12:31:26.260 回答
-1

在 MSWindows 上尝试:

exec("start java -jar c:\edu.uniroma3.jar c:\parameter2BPassed");
于 2011-02-08T12:16:11.650 回答