使用systemd管理java的jar包服务

一、编写启动和停止脚本
#### 启动脚本
# cat /usr/local/bin/start.sh

#!/bin/bash
export JAVA_HOME="/usr/java/jdk1.8.0_211"
export PATH=$JAVA_HOME/bin:$PATH
ServiceName=$1
CMD_PATH="/opt/services/ds/${ServiceName}"
cd $CMD_PATH/
chmod 755 ${CMD_PATH}/${ServiceName}.jar
nohup java -jar -Xms512m -Xmx1024m ${CMD_PATH}/${ServiceName}.jar &
echo $! > $CMD_PATH/logs/${ServiceName}.pid


#### 停止脚本
# cat /usr/local/bin/stop.sh

#!/bin/bash
ServiceName=$1
CMD_PATH="/opt/services/ds/${ServiceName}"
PID=$(cat $CMD_PATH/logs/${ServiceName}.pid)
kill -9 $PID
rm -f nohup.out
二、将服务使用systemd管理服务
# cat /usr/lib/systemd/system/smsd.service

# Systemd unit file for tomcat
[Unit]
Description=sms service daemon
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME="/usr/java/jdk1.8.0_211"
ExecStart=/usr/local/bin/start.sh "sms-service"
ExecStop=/usr/local/bin/stop.sh "sms-service"
#ExecReload=/usr/local/bin/restart.sh "sms-service"
PrivateTmp=true

User=app
Group=app

[Install]
WantedBy=multi-user.target
三、测试
systemctl daemon-reload
systemctl start smsd
systemctl stop smsd
systemctl enable smsd

在这里插入图片描述

发布了319 篇原创文章 · 获赞 140 · 访问量 82万+

猜你喜欢

转载自blog.csdn.net/m0_37886429/article/details/103083500