我想像这样运行一个Java jar文件:
java -jar spider.jar
如何在 Windows 的后台运行它?
在 Linux 上像这样:
nohup java -jar spider.jar > /var/tmp/spider.log 2>&1 &
在 Windows 上,一个进程在其父进程被杀死后终止是不正常的(就像 Unix-likes 一样)。因此,像nohup
. 如果你想避免与之关联的控制台窗口,你可以使用javaw
但重定向不起作用,那么。
您可以使用 Windowsstart
命令:
start /min java -jar spider.jar
此命令与 ; 并不完全相同nohup
。但如果您对在单独的最小化窗口中运行的 Java 进程感到满意,这可能是合适的。请参阅http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx
获得 nohup 行为的唯一方法是在注销后进程仍在运行(如微服务、分析工具、服务器批处理作业等),将 .bat 文件的 start javaw -jar ...
内容作为服务或预定任务。
将以下代码保存到nohup.vbs
,并将目录添加到 PATH。
Set args=Wscript.Arguments
Set ws=CreateObject("wscript.shell")
ws.Run args(0),0,true
然后,运行:
nohup "java -jar spider.jar > /var/tmp/spider.log"
请注意,您应该引用完整的命令和重定向。
对于 windows 在命令提示符或终端中运行以下提到的命令
nohup(需要运行的文件)>(需要保存日志的文件)2>&1
例如:nohup ./bin/windows/kafka-server-start.bat config/server.properties > ./MyKafka.log 2>&1