介绍
公司自建服务器,有一天突然断电了,服务手动重启相当麻烦,写了一套开机启动jar服务脚本。
配置
1.创建开机启动文件
在 /etc/systemd/system 创建 javatest.service ,内容如下
[Unit]
Description=Medicine Java Service
[Service]
User=root
# 选择在哪个目录进行工作
WorkingDirectory=/home/software/jars
# 执行的命令
ExecStart=java -jar dj-data-admin.jar
# 额外定义附加的进程"正常退出"状态
SuccessExitStatus=143
# 设定该服务允许的最大停止时长。如果该服务未能在限定的时长内成功停止,那么将会被强制使用 SIGTERM 信号关闭, 如果依然未能在相同的时长内成功停止,那么将会被强制使用 SIGKILL 信号关闭(参见 systemd.kill(5) 手册中的 KillMode= 选项)。 如果未指定时间单位,那么将视为以秒为单位。例如设为"20"等价于设为"20s"。设为"0"则表示永不超时。
TimeoutStopSec=10
# 在进程异常退出时服务器会重启
Restart=on-failure
# 如果启动失败,重启会有3次
RestartSec=3
[Install]
WantedBy=multi-user.target
2.配置开机启动
1.告知 systemd 有新服务了
systemctl daemon-reload
2.设置开机启动
systemctl enable javatest
操作服务
# 启动
systemctl start javatest
# 停止
systemctl stop javatest
# 重启
systemctl restart javatest
# 查看服务状态,jar就是查看启动日志
systemctl status javatest