Skip to content

服务化并配置自动重启

1.创建 Java 程序的启动脚本start.sh

bash
#!/bin/bash

# 设置 Java 程序的路径
JAR_PATH="/path/to/your/java_program.jar"

# 启动 Java 程序
java -jar "$JAR_PATH" > /dev/null 2>&1

# 添加执行权限
chmod +x start.sh

2.创建 Systemd 服务文件

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

bash
User=root #指定运行服务的用户
WorkingDirectory=/path/to/working/directory  #指定服务的工作目录 注意这会让程序的根目录变为该路径
ExecStart=/path/to/start.sh  #设置启动命令
Restart=always  #设置服务崩溃后的重启策略,always 表示总是重启
RestartSec=10s  #设置服务重启前的等待时间(以秒为单位)
Environment=JAVA_OPTS=-Xmx200m  #可以设置环境变量,比如 JVM 参数
WantedBy=multi-user.target  #指定在哪个运行级别下自动启动

--- 以下为正式内容 文件内部不要有任何注释 ---

[Unit]
Description=My Java Application

[Service]
User=tomcat
WorkingDirectory=/mydata/ChouYin/wj_admin
ExecStart=/usr/java/jdk1.8.0_202/bin/java -jar /mydata/ChouYin/wj_admin/xxl-job-admin-2.4.0.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

3.启用并启动服务

bash
sudo systemctl daemon-reload
sudo systemctl enable my_java_app.service
sudo systemctl start my_java_app.service