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 
原文地址:https://www.cnblogs.com/xuanbao/p/13086015.html