我用jar文件编写了一个java程序。 java程序是为了更新linux服务器的状态,所以需要继续运行,但linux服务器在数据中心,所以我需要远程服务器来打开程序。我使用ssh登录linux服务器。使用“java -jar file.jar”命令运行程序。
但是,如果我关闭计算机中的终端,linux服务器的java程序将关闭。由于我不能继续打开我的电脑,我想知道如何在不拿着电脑终端的情况下打开java编程。
答案 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 Wrapper或jsvc或编写自己的初始化脚本。
答案 3 :(得分:0)
除了提议的解决方案之外的另一个解决方案:
screen -d -m java -jar your.jar
然后,您将看到一个带有java
命令的分离屏幕。列出screen -l
,重新附加screen -D -RR <screenid_obtained_via_screen_-ls>