Linux 系统下Springboot项目 jar包开机自启
cd /etc/systemd/system
#创建启动文件 myTest 可根据实际情况修改
touch myTest.service
vim myTest.service
//==============带自启和停止文件内容如下================
[Unit]
Description=myTest Application
[Service]
ExecStart= /usr/local/start.sh
ExecStop= /usr/loca/shutdown.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
:wq 保存文件
#赋予执行权限
执行 chmod +x /usr/local/shutdown.sh
执行 chmod +x /usr/local/start.sh
执行 chmod +x myTest.service
//=====================
cd /etc/systemd/system
#创建启动文件 myTest可根据实际情况修改
touch myTest.service
vim myTest.service
//==============只有自启文件内容如下================
[Unit]
Description=myTest Application
[Service]
ExecStart= nohup java -jar /usr/work/xxx.jar > /usr/work/xxx.log 2>&1 &
[Install]
WantedBy=multi-user.target
:wq 保存文件
#赋予执行权限
执行 chmod +x smartbySeed.service
//=======================文件解释================
#其中 ExecStart为启动命令 ,根据情况修改即可
#WantedBy:表示该服务所在的Target(服务组)。
#刷新服务配置文件
systemctl daemon-reload
#服务设置为开机启动
systemctl enable myTest.service
#启动服务
systemctl start myTest.service
#停止服务
systemctl stop myTest.service
#查看服务状态
systemctl status myTest.service
#重启服务
systemctl restart myTest.service
shutdown.sh
#!/bin/sh
APP_NAME=xxx.jar //此处为jar包名称
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]
then
echo 'stop myTest...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]
then
echo 'kill myTest...'
kill -9 $tpid
else
echo 'stop myTest success!'
fi
start.sh
#!/bin/sh
rm -f tpid
cd /usr/work
nohup java -jar xxx.jar >./logs/xxx.log 2>&1 &
echo $! > tpid
echo 'start myService Success!'