Centos 7将java jar包自定义开机启动服务
Centos 7将java jar包自定义开机启动服务
参考地址:https://blog.csdn.net/weixin_36146358/article/details/101383151?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
1. 先上 jar包的启动脚本
vim service.sh
#!/bin/bash # 需要变更的参数 # 先查看java绝对路径:which java java=/data/app/jdk/bin/java STARTUP="$java -server -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms512m -Xmx512m -Xmn128m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=dev -jar" PROJECT="odms" LISTEN_PORT="8092" JAR=`ls /data/www/$PROJECT-$LISTEN_PORT/*.jar -th |head -1` cd /data/www/$PROJECT-$LISTEN_PORT function start () { nohup $STARTUP $JAR >> /data/logs/$PROJECT-$LISTEN_PORT/$PROJECT.log 2>&1 & exit 0 } function stop () { PID=`ps aux|grep "$JAR"|grep -v grep|awk '{print $2}'` if [ -z $PID ];then exit 0 else kill -9 $PID fi } function reload () { PID=`ps aux|grep "$JAR"|grep -v grep|awk '{print $2}'` if [ -z $PID ];then exit 0 else kill -1 $PID fi } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) stop sleep 3 start ;; *) echo "start|stop|reload|restart" ;; esac
写好脚本之后,需要为脚本添加可执行权限
chmod +x service.sh
2. 自定义开机启动命令
vim /usr/lib/systemd/system/odms.service
[Unit]
Description=Java
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
User=dev
Group=dev
Type=forking
ExecStartPre=/bin/cd /data/www/odms-8092/
ExecStart=/data/www/odms-8092/service.sh start
ExecReload=/data/www/odms-8092/service.sh reload
ExecStop=/data/www/odms-8092/service.sh stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
3. 添加开机启动服务
#添加开机启动服务
systemctl enable odms
# 启动服务
systemctl start odms
#关闭服务
systemctl stop odms
# 重启服务
systemctl restart odms
#查看服务状态
systemctl status doms
#取消开机启动
systemctl disable odms