我有一个无休止地执行的jar,因为我创建了一个线程,并且我在这个线程中加入()edt。
如果我运行这个jar,双击让我们说窗口创建一个永远运行的javaw进程,我可以继续工作这就是我想要的。
现在,如果我尝试使用java -jar myJar.jar从cmd运行jar,则执行会在那里停止。
我想要的是在运行jar后继续执行cmd。
* 注意: *我目前正试图在linux控制台中执行此操作,我使用putty访问。所以请在您的答案中考虑这一点
谢谢
答案 0 :(得分:3)
试试这个
java -jar myJar.jar&
这意味着该进程已启动并在后台运行。如果要将其恢复,请键入fg
。要在后台将其推回,请按CTRL + Z(这会暂停其执行并返回shell提示符),然后运行bg
以在后台恢复它。
答案 1 :(得分:2)
将其作为
运行java -jar myJar.jar &
&
会将命令放入后台,快乐地运行。只是一个基本的Unix shell功能。
答案 2 :(得分:2)
java -jar myJar.jar&
&
将命令放入后台并允许您从shell提示符执行其他操作。
这是非常基本的UNIX / Linux shell的东西。我建议您在正在使用的shell(例如bash)上查找/阅读在线教程或书籍。它会让你的生活更轻松。或者,如果您是受虐狂,请阅读man bash
。
我目前正尝试在linux控制台中执行此操作,我使用putty访问。
使用腻子实际上并不相关。
答案 3 :(得分:0)
OP最后一次评论后未回复此答案 - 这不是书面问题的答案,而是对他实际问题的补充答案
在Windows上,尝试
start java -jar myJar.jar
答案 4 :(得分:0)
我个人更喜欢使用屏幕。因为您甚至可以定义会话ID并使其恢复非常简单。
您可以使用以下命令启动jar:
screen -m -d java -jar myJar.jar
使用以下命令,您可以列出所有当前会话:
screen -ls
您可以使用以下命令重新打开会话:
screen -r PID/Sessionname