最新消息:

Centos7中java -jar使用systemctl开机自动启动[zz]

软件使用 王杭州 2901浏览 0评论 [编辑]

一、原由

因为使用 nohup 和 & 这种方式启动jar包的话,只会放在后台里面执行,如果某天,人为或机器故障等原因,触发重启了。那样程序就会关闭,不清楚系统的人,可能都不知道这个需要启动。

所以,这里使用Centos7系统自带的systemctl管理实现一个开启自动管理

二、创建系统文件

# 路径一定要写清楚,systemctl要根据这个来编写
vim /etc/init.d/zuul

#zuul文件的内容
#!/bin/bash
PID_PATH=/var/run/zuul-service.pid
Service_Name=zuul-service

case “$1″ in
start)
/zuul-service/zuul-start.sh
;;
stop)
kill $(cat ${PID_PATH})
rm ${PID_PATH}
;;
restart)
$0 stop
$0 start
;;
status)
if [ -e ${PID_PATH} ];then
echo “${Service_Name} is running, pid=$(cat ${PID_PATH})”
else
echo “${Service_Name} is NOT running”
exit 1
fi
;;
*)
echo “Usage: $0 {start|stop|status|restart}”
esac

exit 0

#赋予执行权限
chmod a+x /etc/init.d/zuul

三、创建启动脚本
vim /zuul-service/zuul-start.sh

#zuul-start文件的内容

#!/bin/bash
#启动命令
/usr/bin/java -jar /zuul-service/rocket-zuul-0.0.1-SNAPSHOT.jar >> /zuul-service/zuul.log 2>&1 &
#将pid写进文件
echo $! > /var/run/zuul-service.pid

#赋予执行权限

chmod a+x /zuul-service/zuul-start.sh

四、将服务添加进systemctl进行管理
vim /usr/lib/systemd/system/zuul.service

#zuul.service文件的内容
[Unit]
Documentation=zuul-service

[Service]
User=root
Group=root
Type=forking
Restart=no
KillMode=process
ExecStart=/etc/rc.d/init.d/zuul start
ExecStop=/etc/rc.d/init.d/zuul stop

[Install]
WantedBy=multi-user.target

#启动zuul
systemctl daemon-reload
systemctl enable zuul
systemctl start zuul

五、systemctl管理命令

#设置开机自启
systemctl enable zuul

#关闭开机自启
systemctl disable zuul

#启动服务
systemctl start zuul

#停止服务
systemctl stop zuul

#重启服务
systemctl restart zuul

#查看服务状态
systemctl status zuul

#检查开机自启状态
systemctl is-enabled zuul

https://blog.csdn.net/qq_40460909/article/details/100668367

转载请注明:王杭州的个人网页 » Centos7中java -jar使用systemctl开机自动启动[zz]

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址