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

问题描述 投票:0回答:3

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

实际上我对Java和Linux平台很新手,所以没有什么疑问..

  1. 我的没有 GUI 的 Socket 程序是否可以按照我的要求运行?
  2. 如何编写脚本在 Linux 启动时运行 jar,我知道了。
    init.d
    就是为此而设计的。
java linux sockets ubuntu init
3个回答
8
投票

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

使用

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


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 在启动时启动它。请参阅 here 了解使用
update-rc.d

的非常简单的示例

希望这有帮助,


0
投票

如果您使用 Buildroot 发行版,那么您可以制作像 this 这样的脚本。

© www.soinside.com 2019 - 2024. All rights reserved.