如何在服务器上自主运行程序,如何在服务器上无限期地运行java程序?

时间:2012-11-15 01:58:27

标签: java jar

我有一个jar可执行文件,我试图运行,直到在Linux服务器上停止。我已经尝试过查看Java Service Wrapper API,但这真的很难,我甚至不确定这是我想要的。有没有办法在服务器上运行程序,以便在我注销程序时继续运行?我正在使用ssh登录服务器和命令行来运行jar。谢谢!

4 个答案:

答案 0 :(得分:7)

执行命令

 nohup java -jar myjar.jar &

最后的&符号将在新的分叉进程中运行它,因此在您注销后它将继续运行。 nohup阻止其所有者退出时挂起。

答案 1 :(得分:3)

如果您能够将服务器设置为守护程序,则可以执行此操作。如果没有,您可以尝试使用类似屏幕的程序来创建虚拟终端。

sudo apt-get install screen
screen java -jar myJar.jar

如果你想重新接触终端:

screen -r

答案 2 :(得分:2)

如果您想将其作为服务运行,请查看daemontools

它将在机器启动时启动程序,如果崩溃则重新启动程序,在机器关闭时停止程序。

在Ubuntu上只是一个不错的选择。

答案 3 :(得分:1)

为什么有! (请记住,这可能仅适用于服务器,而不适用于您的个人计算机) 使用linux'screen'命令创建一个虚拟终端,在您注销后将继续,指令为here

基本上,使用:

$ screen

启动一个新的虚拟终端窗口。启动你的代码,一旦你运行它,输入“control + a”然后“d”分离窗口。分离后,您可以注销,您的程序仍将在服务器上运行。要返回它,请输入:

$ screen -r

然后你会回到你的计划中。十分简单! Instructions