38

我想像这样运行一个Java jar文件:

java -jar spider.jar

如何在 Windows 的后台运行它?

在 Linux 上像这样:

nohup java -jar spider.jar > /var/tmp/spider.log 2>&1 &
4

5 回答 5

29

在 Windows 上,一个进程在其父进程被杀死后终止是不正常的(就像 Unix-likes 一样)。因此,像nohup. 如果你想避免与之关联的控制台窗口,你可以使用javaw但重定向不起作用,那么。

于 2010-08-01T12:53:44.463 回答
29

您可以使用 Windowsstart命令:

start /min java -jar spider.jar

此命令与 ; 并不完全相同nohup。但如果您对在单独的最小化窗口中运行的 Java 进程感到满意,这可能是合适的。请参阅http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx

于 2010-08-01T13:05:42.420 回答
6

获得 nohup 行为的唯一方法是在注销后进程仍在运行(如微服务、分析工具、服务器批处理作业等),将 .bat 文件的 start javaw -jar ...内容作为服务或预定任务。

于 2016-01-11T10:20:17.840 回答
0

将以下代码保存到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"

请注意,您应该引用完整的命令和重定向

于 2021-04-07T12:59:39.143 回答
0

对于 windows 在命令提示符或终端中运行以下提到的命令

nohup(需要运行的文件)>(需要保存日志的文件)2>&1

例如:nohup ./bin/windows/kafka-server-start.bat config/server.properties > ./MyKafka.log 2>&1

于 2021-06-30T14:34:23.917 回答