Shell脚本(一):自定义启停Java进程脚本

star2017 1年前 ⋅ 2441 阅读

Spring Boot 应用,自定义启停 Java 进程脚本。

完整脚本

#!/bin/bash
# 需要变更的参数
# 先查看java绝对路径:which java
java=/usr/bin/java
STARTUP="$java -server -Xms1024m -Xmx1024m -jar "
PROJECT="pre-diagnose/manager"
# Jar 目录
JAR=`ls /home/$PROJECT/*.jar -th |head -1`

cd /home/$PROJECT

function start () {
    nohup $STARTUP $JAR >> /home/$PROJECT/logs/manager.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

脚本说明

查看进程并输出进程号

ps aux|grep "$JAR"|grep -v grep|awk '{print $2}'

grep -v:排除输出

awk '{print $2}':输出第二列的值

启动脚本

# 堆最小为128m,最大为128m
nohup java -jar -Xms128m -Xmx128m conv-manager-provider.jar > manager.log 2>&1 &

停止脚本

kill -15 `ps -aux|grep conv-manager-provider.jar|grep -v grep|awk '{print $2}'`
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: