站点工具


服务器技术:java:linux_jar包启动脚本

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

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