我有一个要求,我需要开发读取TCP / IP套接字的应用程序。我成功地将程序作为Java程序,没有GUI意味着一旦程序运行它就开始收听Socket并在Netbeans IDE的帮助下获得响应。现在按照我的要求,我必须在Linux系统启动后立即开始执行该程序。
其实我是Java和Linux平台的新手,所以很少有人怀疑......
init.d
就是为了这个目的。答案 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
希望这有帮助,
威尔