Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PHP exec(),我可以启动并忘记吗?_Java_Php_Exec_Fire And Forget - Fatal编程技术网

Java PHP exec(),我可以启动并忘记吗?

Java PHP exec(),我可以启动并忘记吗?,java,php,exec,fire-and-forget,Java,Php,Exec,Fire And Forget,我一直在尝试通过php表单执行java应用程序。。因此,submit按钮触发执行命令: exec("java -jar c:\edu.uniroma3.jar c:\parameter2BPassed"); 第一条路径确定jar文件的位置,第二条路径用作参数 问题是脚本处理时间太长,我想绕过等待,是否真的可以像火一样把它烧了然后忘记呢?脚本将结果写入一个文件中,我可以每5分钟检查一次文件是否存在,但在等待过程完成时卡住会很不方便 有什么建议吗 提前谢谢你我想这也是同样的问题 正如注释所述,上述

我一直在尝试通过php表单执行java应用程序。。因此,submit按钮触发执行命令:

exec("java -jar c:\edu.uniroma3.jar c:\parameter2BPassed");
第一条路径确定jar文件的位置,第二条路径用作参数

问题是脚本处理时间太长,我想绕过等待,是否真的可以像火一样把它烧了然后忘记呢?脚本将结果写入一个文件中,我可以每5分钟检查一次文件是否存在,但在等待过程完成时卡住会很不方便

有什么建议吗


提前谢谢你

我想这也是同样的问题

正如注释所述,上述方法仅在*nix环境下有效,但我发现windows也有类似的方法:

不过,最好还是考虑其他解决方案,比如一个单独的进程,您可以将工作发送到未连接到Web服务器的进程


据我所知,Web服务器有时回收进程和后台进程并不总是孤立的,因此,除非外部进程完全独立,否则可能会导致外部进程被终止。

我认为这是同样的问题

正如注释所述,上述方法仅在*nix环境下有效,但我发现windows也有类似的方法:

不过,最好还是考虑其他解决方案,比如一个单独的进程,您可以将工作发送到未连接到Web服务器的进程

据我所知,Web服务器有时回收进程和后台进程并不总是相互隔离的,因此,除非外部进程完全分离,否则您可能会将其杀死。

在MSWindows上,请尝试:

exec("start java -jar c:\edu.uniroma3.jar c:\parameter2BPassed");
在MSWindows上尝试:

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

我还想在此添加解决方案: $shell=新的COMWScript.shell; $shell->run$command,0,false;
像魔术一样工作:thx alot ircmaxell

我也想在这里添加解决方案: $shell=新的COMWScript.shell; $shell->run$command,0,false;
像魔术一样工作:thx alot ircmaxell

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

windows上的javaw,旨在启动jvm而不打开cmd窗口。
也许这会有所帮助,因为您在windows上,需要启动java程序,所以可以使用javaw.exe而不是java.exe

windows上的javaw,旨在启动jvm而不打开cmd窗口。
也许这会有帮助

也许可以尝试system而不是exec?不确定它是否能按你想要的方式工作。。在linux中,您可以将进程放在后台。。在windows中。。。好多做一点工作,可能是OK的复制品。。由于ircmaxell,问题得以解决,这是一篇重复的文章,很抱歉,但当你使用错误的关键字时,很难找到那篇文章;我该怎么处理这个帖子?删除?我还想在这里添加解决方案:我建议您删除该问题,以防止网站出现混乱,因为它实际上是重复的。否则,答案池会被稀释,使搜索返回的结果更少而不是更多…也许可以尝试system而不是exec?不确定它是否能按你想要的方式工作。。在linux中,您可以将进程放在后台。。在windows中。。。好多做一点工作,可能是OK的复制品。。由于ircmaxell,问题得以解决,这是一篇重复的文章,很抱歉,但当你使用错误的关键字时,很难找到那篇文章;我该怎么处理这个帖子?删除?我还想在这里添加解决方案:我建议您删除该问题,以防止网站出现混乱,因为它实际上是重复的。否则答案池会被稀释,搜索结果会减少而不是增加…我担心这是一个完全不同的。。我尝试了这个execjava-jarc:\edu.uniroma3.lexmeter.jar.$XMLFileLoc/dev/null 2>/dev/null&;但是它甚至没有执行这是在linux中完成的:上面的问题是在基于windows的机器上@Nad你有windows,/dev/null在那里不存在:这也是非常非常错误的-它有时看起来会工作,但它会以奇怪和奇妙的方式破坏你的应用程序。这不是从web请求运行后台进程的方法。@symcbean-运行bg进程的更好/最好的方法是什么?恐怕这是完全不同的。。我尝试了这个execjava-jarc:\edu.uniroma3.lexmeter.jar.$XMLFileLoc/dev/null 2>/dev/null&;但是它甚至没有执行这是在linux中完成的:上面的问题是在基于windows的机器上@Nad你有windows,/dev/null在那里不存在:这也是非常非常错误的-它有时看起来会工作,但它会以奇怪和奇妙的方式破坏你的应用程序。这不是如何从web请求运行后台进程。@symcbean-运行bg进程的更好/最好方法是什么?start是阻止控制台程序。请参阅我在注释中链接到的副本…start正在阻止控制台程序。查看我在评论中链接到的副本。。。