如何设置Java程序在Linux系统上自动启动?

在Linux系统中,Java程序可以通过多种方式实现开机自启动,以下是详细的步骤和说明:

使用Shell脚本和rc.local文件

如何设置Java程序在Linux系统上自动启动?插图1
(图片来源网络,侵删)

1、编写启动脚本

创建一个shell脚本文件,例如run.sh如下:

```bash

#!/bin/bash

JAVA_HOME=/usr/local/java/jdk1.8.0_161

如何设置Java程序在Linux系统上自动启动?插图3
(图片来源网络,侵删)

CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

nohup java -jar /usr/local/java/test.jar > /dev/null 2>&1 &

```

如何设置Java程序在Linux系统上自动启动?插图5
(图片来源网络,侵删)

保存并退出编辑器,然后赋予脚本可执行权限:

```bash

chmod +x /home/ruoyi/run.sh

```

2、修改rc.local文件

编辑/etc/rc.d/rc.local文件:

```bash

vim /etc/rc.d/rc.local

```

在文件末尾添加一行,指定运行脚本的绝对路径:

```bash

/home/ruoyi/run.sh

```

保存并退出编辑器,然后赋予rc.local文件可执行权限:

```bash

chmod +x /etc/rc.d/rc.local

```

使用Systemd服务

1、创建服务文件

/etc/systemd/system/目录下创建一个新的服务文件,例如client.service如下:

```ini

[Unit]

Description=Client Service

After=network.target

[Service]

Type=simple

ExecStart=/opt/jre/bin/java -jar /opt/agent-server-1.0-SNAPSHOT.jar /opt/client.conf

WorkingDirectory=/opt

User=root

Group=root

StandardOutput=null

StandardError=/opt/error.log

Restart=always

RestartSec=3

[Install]

WantedBy=multi-user.target

```

2、使配置生效并启用服务

重新加载systemd配置:

```bash

sudo systemctl daemon-reload

```

设置服务开机自启动:

```bash

sudo systemctl enable client.service

```

立即启动服务:

```bash

sudo systemctl start client.service

```

使用Crontab

1、编辑Crontab文件

使用以下命令编辑当前用户的crontab文件:

```bash

crontab -e

```

在文件末尾添加一行,指定在系统重启时运行脚本:

```bash

@reboot /home/ruoyi/run.sh

```

保存并退出编辑器。

手动重启Java程序

如果需要手动重启Java程序,可以使用以下命令:

1、查找Java程序的进程ID(PID)

```bash

ps -ef | grep test.jar

```

2、杀掉Java程序的进程

```bash

kill -9 PID(例如1068)

```

3、重新启动Java程序

```bash

nohup java -jar /home/ruoyi/test.jar > /dev/null 2>&1 &

```

通过以上方法,可以在Linux系统中实现Java程序的开机自启动,确保服务在系统重启后能够自动运行。

各位小伙伴们,我刚刚为大家分享了有关java linux自启动的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/71382.html

小末小末
上一篇 2024年10月8日 11:15
下一篇 2024年10月8日 11:26

相关推荐