传递命令到运行java进程?

时间:2010-06-20 13:50:57

标签: java

我有一个运行的Java进程。如果我通过SSH启动进程并将命令传递给它工作正常,但如果我然后终止SSH会话,我将失去对该进程的“控制”。我如何重新获得对该过程的“控制”?它还在运行。

我知道进程ID。这可能还是我必须重新开始这个过程?

3 个答案:

答案 0 :(得分:7)

你可能想要开始一个屏幕。

尝试在提示符下输入screen。 (如果没有,请安装程序。)

示例运行:

$ ssh yourserver
Password:

$ screen                         # start the screen
$ java -jar YourApp.jar
output...
more output...
<Ctrl-A D>                       # detach process for later reattach
$ exit                           # exit your ssh session

第二天

$ ssh yourserver
Password:

$ screen -x                      # reattach process

$ java -jar YourApp.jar
output...
more output...                   # back to where we were yesterday.

输入man screen了解详情。

答案 1 :(得分:1)

使用GNU screen程序。

答案 2 :(得分:0)

无法重新连接已断开连接的进程的标准输入/输出。这不是Java应用程序特有的。

为避免陷入这种情况,请使用screen实用程序或类似工具运行您的应用程序。