使用systemd启动jar包

文章目录

  • 前言
  • 一、systemd路径
  • 二、步骤
    • 1.创建一个service文件,编写启动脚本
    • 2.将.service文件拷贝到/usr/lib/systemd/system
    • 3. 设置开机启动
    • 4. 查看启动状态
    • 5.重启systemctl服务

前言

使用systemd设置开机启动jar程序


一、systemd路径

/usr/lib/systemd/system

二、步骤

1.创建一个service文件,编写启动脚本

代码如下(示例):

[Unit]
Description = robot chassis server 
After = syslog.target network.target  # 编写的服务在哪些服务后启动

[Service]
WorkingDirectory=/usr/local/robot-service/
User=whhc
# 执行的命令
ExecStart=/home/whhc/jdk1.8.0_201/bin/java -jar -Dlogging.file.path=/home/whhc/logs /usr/local/robot-service/robot-service-1.0.jar --spring.profiles.active=prod --spring.config.local=/usr/local/robot-service/

[Install]
WantedBy = multi-user.target

注意:
1.从systemd启动jar包需要指定jdk环境,找到java执行器的路径添加到ExecStart中。
2. 需要在Dlogging.file.path后指定log日志的输出路径。

2.将.service文件拷贝到/usr/lib/systemd/system

sudo cp robot_server.serivce /usr/lib/systemd/system

3. 设置开机启动

systemctl enable robot_server.service

4. 查看启动状态

systemctl status robot_server.service

启动服务后,它将在系统启动时自动启动。也可以在任何时候使用以下命令停止服务并从自启动项中删除:

sudo systemctl stop myservice
sudo systemctl disable myservice

5.重启systemctl服务

#重新载入systemd服务,执行命令
sudo systemctl daemon-reload