| 后一修订版 | 前一修订版 | ||
|
服务器技术:java:linux_jar包启动脚本 [2018/06/20 17:47] admin 创建 |
服务器技术:java:linux_jar包启动脚本 [2018/09/10 18:02] (当前版本) |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | <pre class="prettyprint">#!/bin/bash#java env#shell脚本有时候调用linux的环境变量会有问题,所以这里还是把用到的java环境再设置一下export JAVA_HOME=/usr/local/jdk1.7#app name 为了确保脚本通用APP_NAME=lagou-service | + | <p>#!/bin/bash<br/><br/>#java env<br/>#shell脚本有时候调用linux的环境变量会有问题,所以这里还是把用到的java环境再设置一下<br/>export JAVA_HOME=/usr/local/jdk1.7<br/><br/>#app name 为了确保脚本通用<br/>APP_NAME=lagou-service<br/><br/>SERVICE_DIR=/home/lagou/$APP_NAME<br/>SERVICE_NAME=lagou-service<br/>APP_JAR=$SERVICE_NAME\.jar<br/>#启动app的时候,将进程的pid保存在这里,方便以后杀死进程用<br/>APP_PID=$SERVICE_NAME\.pid<br/><br/>cd $SERVICE_DIR<br/><br/>case "$1" in <br/><br/>    start)<br/>        #/dev/null 就不会有nohup.out文件了。<br/>        nohup $JAVA_HOME/bin/java -Xms32m -Xmx128m -jar $APP_JAR >/dev/null 2>&1 &<br/>        #将pid写入文件<br/>        echo $! > $SERVICE_DIR/$APP_PID<br/>        echo "===== start $SERVICE_NAME"<br/>        ;;<br/><br/>    stop)<br/>        kill `cat $APP_PID`<br/>        #删除掉pid文件<br/>        rm -f $SERVICE_DIR/$APP_PID<br/>        #查看是不是杀死进程了<br/>        sleep 5<br/>                #获得进程号,复制号两边不能留空格<br/>                pid=`ps -ef | grep -w $SERVICE_NAME | grep -v grep | awk '{print $2}'`<br/>        #判断相等两边要留空格<br/>        if ["$pid" == ""];then<br/>            echo "=== kill successfully "<br/>        else<br/>            echo "===== kill fail and try to kill -9"<br/>            echo "====  the pid is  $pid"<br/>            kill -9 $pid<br/>        fi<br/>        echo "stop finished"<br/>        ;;<br/>    *)<br/>        echo "please use start or stop 参数"<br/>        ;;<br/>esac<br/>exit 0<br/><br/></p> |
| - | + | ||
| - | SERVICE_DIR=/home/lagou/$APP_NAMESERVICE_NAME=lagou-service | + | |
| - | APP_JAR=$SERVICE_NAME\.jar#启动app的时候,将进程的pid保存在这里,方便以后杀死进程用APP_PID=$SERVICE_NAME\.pidcd $SERVICE_DIRcase "$1" in  | + | |
| - | + | ||
| - |    start)        #/dev/null 就不会有nohup.out文件了。 | + | |
| - |        nohup $JAVA_HOME/bin/java -Xms32m -Xmx128m -jar $APP_JAR >/dev/null 2>&1 &        #将pid写入文件 | + | |
| - |        echo $! > $SERVICE_DIR/$APP_PID | + | |
| - |        echo "===== start $SERVICE_NAME" | + | |
| - |         ;; | + | |
| - | + | ||
| - |    stop) | + | |
| - |        kill `cat $APP_PID`        #删除掉pid文件 | + | |
| - |        rm -f $SERVICE_DIR/$APP_PID | + | |
| - |        #查看是不是杀死进程了 | + | |
| - |        sleep 5 | + | |
| - |                #获得进程号,复制号两边不能留空格 | + | |
| - |                pid=`ps -ef | grep -w $SERVICE_NAME | grep -v grep | awk '{print $2}'`        #判断相等两边要留空格 | + | |
| - |        if ["$pid" == ""];then | + | |
| - |            echo "=== kill successfully " | + | |
| - |        else | + | |
| - |            echo "===== kill fail and try to kill -9" | + | |
| - |            echo "====  the pid is  $pid" | + | |
| - |            kill -9 $pid | + | |
| - |        fi | + | |
| - |        echo "stop finished" | + | |
| - |         ;; | + | |
| - |    *)        echo "please use start or stop 参数" | + | |
| - |         ;;esacexit 0</pre><p><br/></p> | + | |