<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 &quot;$1&quot; in <br/><br/>&nbsp;&nbsp;&nbsp; start)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #/dev/null 就不会有nohup.out文件了。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nohup $JAVA_HOME/bin/java -Xms32m -Xmx128m -jar $APP_JAR &gt;/dev/null 2&gt;&amp;1 &amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #将pid写入文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $! &gt; $SERVICE_DIR/$APP_PID<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;===== start $SERVICE_NAME&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br/><br/>&nbsp;&nbsp;&nbsp; stop)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kill `cat $APP_PID`<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #删除掉pid文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -f $SERVICE_DIR/$APP_PID<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #查看是不是杀死进程了<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep 5<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #获得进程号,复制号两边不能留空格<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pid=`ps -ef | grep -w $SERVICE_NAME | grep -v grep | awk &#39;{print $2}&#39;`<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #判断相等两边要留空格<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [&quot;$pid&quot; == &quot;&quot;];then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;=== kill successfully &quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;===== kill fail and try to kill -9&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;====&nbsp; the pid is&nbsp; $pid&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kill -9 $pid<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;stop finished&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br/>&nbsp;&nbsp;&nbsp; *)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;please use start or stop 参数&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br/>esac<br/>exit 0<br/><br/></p>