如何在没有终端控件的情况下在其他linux电脑上打开java程序?

时间:2014-03-24 05:07:11

标签: java linux

我用jar文件编写了一个java程序。 java程序是为了更新linux服务器的状态,所以需要继续运行,但linux服务器在数据中心,所以我需要远程服务器来打开程序。我使用ssh登录linux服务器。使用“java -jar file.jar”命令运行程序。

但是,如果我关闭计算机中的终端,linux服务器的java程序将关闭。由于我不能继续打开我的电脑,我想知道如何在不拿着电脑终端的情况下打开java编程。

4 个答案:

答案 0 :(得分:3)

您需要使用nohup在您注销后继续运行程序。:

server:~name$> nohup java -jar file.jar &

这将使您的程序继续运行

答案 1 :(得分:2)

两种方式

一个

nohup java -jar file.jar &

另一个

java -jar file.jar &

在这两种情况下,您的流程都将在后台进行,但是当shell在第二种情况下终止时,该流程将在第二种方法中终止。

答案 2 :(得分:0)

如果要在所有计算机上运行此程序以进行监视,那么您应该从服务器的init系统(systemd运行它作为服务,对于大多数系统来说)。您可以使用Java Service Wrapperjsvc或编写自己的初始化脚本。

答案 3 :(得分:0)

除了提议的解决方案之外的另一个解决方案:

screen -d -m java -jar your.jar

然后,您将看到一个带有java命令的分离屏幕。列出screen -l,重新附加screen -D -RR <screenid_obtained_via_screen_-ls>