我继承了一个应该在 Linux 服务器的后台运行的 java 系统。指示要求启动它java -jar start.jar
。这对我来说似乎有点太脆弱了。我希望它在后台实际运行,理想情况下在启动时自动启动。
实现这一目标的最佳方法是什么?我已经研究过在一个screen
环境中运行系统,它工作正常,但在系统重新启动时不会自动启动。
我继承了一个应该在 Linux 服务器的后台运行的 java 系统。指示要求启动它java -jar start.jar
。这对我来说似乎有点太脆弱了。我希望它在后台实际运行,理想情况下在启动时自动启动。
实现这一目标的最佳方法是什么?我已经研究过在一个screen
环境中运行系统,它工作正常,但在系统重新启动时不会自动启动。
您可以为它编写一个 init.d 脚本!(init.d 脚本在启动时以指定的运行级别启动)
或者,您可以在命令末尾使用 & 在后台启动它。
java -jar start.jar &
你使用什么样的分布?德比安?
至少在 ubuntu 上,我会将此命令放在 /etc/rc.local 文件中,并以 & 结尾。
+1 使用 init.d 脚本
您还应该考虑在 init.d 脚本中使用 jsvc ( http://commons.apache.org/daemon/jsvc.html ) 以允许您在以非特权用户身份运行服务时使用特权资源。jsvc 至少与 Debian 和 Ubuntu 捆绑在一起。