开始播放应用程序和关闭窗口

时间:2012-10-15 11:27:38

标签: batch-file playframework playframework-1.x

我在Windows 7机器上有一个播放应用程序,我想通过双击批处理文件来启动它。

此批处理文件启动服务。调用播放应用程序以生产模式运行,等待5秒钟并打开具有指定URL的浏览器。

因此我使用了以下脚本:

call net start service1
CALL "D:\play-1.2.5\play.bat" start --%%%%prod -Dprecompiled=true
TIMEOUT /T 4
call "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" localhost:9000
exit

现在,当我启动批处理文件时,窗口打开并执行所有命令。可悲的是,Play仍在将输出写入cmd,窗口并没有消失。如果我手动关闭窗口,则播放停止执行。

如果我从cmd开始玩“play start”,播放将在后台开始,一切都很好。即使我关闭窗口,播放仍然会运行。

当我使用批处理文件启动应用程序时,我想要完全出现这种情况。

由于

3 个答案:

答案 0 :(得分:0)

如果您使用类似Linux的环境,我建议您使用'nohup'命令和'&'签到最后。但是,据我所知,不幸的是,在Windows上没有直接相当于漂亮的'nohup'命令。所以,我能想到的是,你可以使用CreateProcess命令创建一个小的win api应用程序,并在创建进程后立即为其提供隐藏命令行窗口所需的参数。还有其他进程创建函数,例如WinExec,可用于隐藏命令行。

答案 1 :(得分:0)

我不知道Play是什么,所以我只能猜一猜:)但是尝试使用没有call的批处理,因为我认为它们不是必需的,你永远不知道,可能解决问题。

答案 2 :(得分:0)

1)您看到Play的输出,因为只重定向system.out但将system.err写入同一个控制台。

2)我也有这个问题并寻找解决方案。作为一种解决方法,您可以尝试使用一些Java Wrapper并安装您的Play!应用程序作为Windows服务。

3)玩!应用程序可以通过Ant任务启动。我还没试过这个。