如何在Ubuntu Linux启动时运行Java应用程序

时间:2014-03-28 11:52:02

标签: java linux sockets ubuntu init

我有一个要求,我需要开发读取TCP / IP套接字的应用程序。我成功地将程序作为Java程序,没有GUI意味着一旦程序运行它就开始收听Socket并在Netbeans IDE的帮助下获得响应。现在按照我的要求,我必须在Linux系统启动后立即开始执行该程序。

其实我是Java和Linux平台的新手,所以很少有人怀疑......

  1. 我的Socket程序没有GUI可以按照我的要求运行。
  2. 如何编写脚本以在Linux启动时运行jar,我知道了。 init.d就是为了这个目的。

2 个答案:

答案 0 :(得分:7)

理想情况下,您应该为您的Java应用程序创建一个服务包装器,然后在启动示例here上运行此服务。

使用
sudo update-rc.d mytestserv defaults在Ubuntu上启动时运行服务包装器

答案 1 :(得分:2)

所以你需要做的两件事:

首先创建一个小的shell脚本,从终端启动你的java程序。正如您已打包为jar,请查看this,特别是JAR Files as Applications部分。

这可能就足够了:(虽然你想要使用Java的完整路径)

#!/bin/bash
java -jar path_to_jar_file

您应该能够运行脚本并成功启动程序。

从脚本开始,您可以使用标准的linux工具启动脚本。将其放入/etc/rc.local,或者当您使用Ubuntu时,请使用update-rc.d在启动时启动它。有关使用update-rc.d

的一个非常简单的示例,请参阅here

希望这有帮助,

威尔