代码之家  ›  专栏  ›  技术社区  ›  Ram

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

  •  4
  • Ram  · 技术社区  · 11 年前

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

    事实上,我在Java和Linux平台方面非常新手,所以没有什么疑问。。

    1. 我的Socket程序没有GUI,可以按照我的要求运行吗。
    2. 我想知道,我如何编写脚本在Linux Boot-up上运行jar。 init.d 就是为了这个。
    2 回复  |  直到 9 年前
        1
  •  8
  •   Ajmal Sha PbxMan    8 年前

    理想情况下,您应该为java应用程序创建一个服务包装器,然后在启动时运行该服务 here .

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

        2
  •  2
  •   Will    11 年前

    因此,您需要做两件事:

    首先创建一个小shell脚本,从终端启动java程序。当你包装成一个罐子时,看看 this ,特别是 JAR Files as Applications 部分

    这可能就足够了:(尽管您希望使用Java的完整路径)

    #!/bin/bash
    java -jar path_to_jar_file
    

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

    一旦从脚本开始,就可以使用标准的linux工具来启动脚本。要么把它放进去 /etc/rc.local ,或者在使用Ubuntu时,使用 update-rc.d 在启动时启动。看见 here 对于一个非常简单的使用示例 update-rc.d

    希望这有帮助,