作为 Unix 服务运行的 Java

2022-09-02 19:40:07

我已经在Java中构建了一个小守护进程,我想在Unix下将其作为服务运行(例如Debian 5)。我已经读到有可能使用Java包装器,但是没有其他更容易实现的选项吗?我不能只使用Unix命令,例如?xxx java -jar program.jar


答案 1

好吧,如果你想运行你的java程序,即使你退出你的shell,以下是最简单的方法:

$nohup java -jar program.jar &

答案 2

您需要在 中创建适当的脚本并将其链接到目录。该脚本应至少支持 、 和 参数。在启动期间,它应该使用适当的参数运行命令,可能通过 。然后,您应该将新启动进程的PID保存到文件 。 命令应读取此 PID 文件并终止此服务。细节因发行版而异,大多数发行版都提供了一些宏,以使整个工作更容易。最好查看用于分发的其他服务的示例。/etc/init.d/etc/rcX.dstartstopstatusjavanohup java <arguments> &/var/run/yourservice.pidstop/etc/init.d

此外:如果无法从网络中的其他计算机访问您的服务,但它打开了某个端口,请使其在防火墙下不可用。

如果您的服务处理一些“精细”数据,最好添加另一个用户并在文件中调用适当的命令。sudo/etc/init.d


推荐