加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

写一个shell 快速启动停止你的微服务吧

发布时间:2020-12-15 07:17:25 所属栏目:安全 来源:网络整理
导读:在这个微服务盛行的时代,docker获得了巨大的成功,因为我们需要在一台服务器装上N个服务。 本文不是想讨论如何使用docker,而是,在一台服务器安装了多个服务后,怎样启动方便的启动服务呢? 一、在tomcat的时代中,直接使用tomcat的启动停止命令,轻松搞定

  在这个微服务盛行的时代,docker获得了巨大的成功,因为我们需要在一台服务器装上N个服务。

  本文不是想讨论如何使用docker,而是,在一台服务器安装了多个服务后,怎样启动方便的启动服务呢?

一、在tomcat的时代中,直接使用tomcat的启动停止命令,轻松搞定,(tomcat的启动脚本很有水平,感兴趣的点开'+'号查看源码学习下吧)

#!/bin/ JAVA_OPTS=<span style="color: #800000">"<span style="color: #800000">$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m<span style="color: #800000">"<span style="color: #000000">
CATALINA_PID
=/opt/tomcat7/<span style="color: #000000">pid.log
CATALINA_HOME
=/opt/<span style="color: #000000">tomcat7

OS specific support. $var must be set to either <span style="color: #0000ff">true or <span style="color: #0000ff">false<span style="color: #000000">.

cygwin=<span style="color: #0000ff">false<span style="color: #000000">
darwin=<span style="color: #0000ff">false<span style="color: #000000">
os400=<span style="color: #0000ff">false
<span style="color: #0000ff">case <span style="color: #800000">"<span style="color: #800000">uname<span style="color: #800000">" <span style="color: #0000ff">in<span style="color: #000000">
CYGWIN) cygwin=<span style="color: #0000ff">true<span style="color: #000000">;;
Darwin
) darwin=<span style="color: #0000ff">true<span style="color: #000000">;;
OS400*) os400=<span style="color: #0000ff">true<span style="color: #000000">;;
<span style="color: #0000ff">esac<span style="color: #000000">

resolve links - $<span style="color: #800080">0<span style="color: #000000"> may be a softlink

PRG=<span style="color: #800000">"<span style="color: #800000">$0<span style="color: #800000">"

<span style="color: #0000ff">while [ -h <span style="color: #800000">"<span style="color: #800000">$PRG<span style="color: #800000">" ]; <span style="color: #0000ff">do
<span style="color: #0000ff">ls=<span style="color: #0000ff"&gt;ls</span> -<span style="color: #0000ff"&gt;ld</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$PRG</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
link=<span style="color: #0000ff"&gt;expr</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$ls</span><span style="color: #800000"&gt;"</span> : <span style="color: #800000"&gt;'</span><span style="color: #800000"&gt;.*-> (.*)$</span><span style="color: #800000"&gt;'</span><span style="color: #000000"&gt;
<span style="color: #0000ff">if <span style="color: #0000ff">expr <span style="color: #800000">"<span style="color: #800000">$link<span style="color: #800000">" : <span style="color: #800000">'<span style="color: #800000">/.*<span style="color: #800000">' > /dev/<span style="color: #0000ff">null; <span style="color: #0000ff">then<span style="color: #000000">
PRG=<span style="color: #800000">"<span style="color: #800000">$link<span style="color: #800000">"
<span style="color: #0000ff">else<span style="color: #000000">
PRG=<span style="color: #0000ff"&gt;dirname</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$PRG</span><span style="color: #800000"&gt;"</span>/<span style="color: #800000">"<span style="color: #800000">$link<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">done<span style="color: #000000">

Get standard environment variables

PRGDIR=<span style="color: #0000ff"&gt;dirname</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$PRG</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;

Only set CATALINA_HOME <span style="color: #0000ff">if<span style="color: #000000"> not already set

[ -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">" ] && CATALINA_HOME=cd <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$PRGDIR/..</span><span style="color: #800000"&gt;"</span> >/dev/<span style="color: #0000ff"&gt;null</span>; <span style="color: #0000ff"&gt;pwd</span><span style="color: #000000"&gt;

Copy CATALINA_BASE from CATALINA_HOME <span style="color: #0000ff">if<span style="color: #000000"> not already set

[ -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">" ] && CATALINA_BASE=<span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"<span style="color: #000000">

Ensure that any user defined CLASSPATH variables are not used on startup,# but allow them to be specified <span style="color: #0000ff">in setenv.<span style="color: #0000ff">sh,<span style="color: #0000ff">in rare <span style="color: #0000ff">case<span style="color: #000000"> when it is needed.

CLASSPATH=

<span style="color: #0000ff">if [ -r <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE/bin/setenv.sh<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
. <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE/bin/setenv.sh<span style="color: #800000">"
<span style="color: #0000ff">elif [ -r <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME/bin/setenv.sh<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
. <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME/bin/setenv.sh<span style="color: #800000">"
<span style="color: #0000ff">fi<span style="color: #000000">

For Cygwin,ensure paths are <span style="color: #0000ff">in<span style="color: #000000"> UNIX format before anything is touched

<span style="color: #0000ff">if $cygwin; <span style="color: #0000ff">then<span style="color: #000000">
[ -n <span style="color: #800000">"<span style="color: #800000">$JAVA_HOME<span style="color: #800000">" ] && JAVA_HOME=cygpath --unix <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$JAVA_HOME</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
[ -n <span style="color: #800000">"<span style="color: #800000">$JRE_HOME<span style="color: #800000">" ] && JRE_HOME=cygpath --unix <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$JRE_HOME</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
[ -n <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">" ] && CATALINA_HOME=cygpath --unix <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_HOME</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
[ -n <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">" ] && CATALINA_BASE=cygpath --unix <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_BASE</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
[ -n <span style="color: #800000">"<span style="color: #800000">$CLASSPATH<span style="color: #800000">" ] && CLASSPATH=cygpath --path --unix <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CLASSPATH</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
<span style="color: #0000ff">fi<span style="color: #000000">

For OS400

<span style="color: #0000ff">if $os400; <span style="color: #0000ff">then<span style="color: #000000">

Set job priority to standard <span style="color: #0000ff">for interactive (interactive - <span style="color: #800080">6<span style="color: #000000">) by using

the interactive priority - <span style="color: #800080">6<span style="color: #000000">,the helper threads that respond to requests

will be running at the same priority as interactive jobs.

COMMAND=<span style="color: #800000">'<span style="color: #800000">chgjob job(<span style="color: #800000">'$JOBNAME<span style="color: #800000">'<span style="color: #800000">) runpty(6)<span style="color: #800000">'<span style="color: #000000">
system $COMMAND

Enable multi threading

export QIBM_MULTI_THREADED=<span style="color: #000000">Y
<span style="color: #0000ff">fi<span style="color: #000000">

Get standard Java environment variables

<span style="color: #0000ff">if $os400; <span style="color: #0000ff">then<span style="color: #000000">

-r will Only work on the os400 <span style="color: #0000ff">if<span style="color: #000000"> the files are:

<span style="color: #800080">1<span style="color: #000000">. owned by the user

<span style="color: #800080">2<span style="color: #000000">. owned by the PRIMARY group of the user

this will not work <span style="color: #0000ff">if the user belongs <span style="color: #0000ff">in secondary <span style="color: #0000ff">groups<span style="color: #000000">

. <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"/bin/setclasspath.<span style="color: #0000ff">sh
<span style="color: #0000ff">else
<span style="color: #0000ff">if [ -r <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"/bin/setclasspath.<span style="color: #0000ff">sh ]; <span style="color: #0000ff">then<span style="color: #000000">
. <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"/bin/setclasspath.<span style="color: #0000ff">sh
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Cannot find $CATALINA_HOME/bin/setclasspath.sh<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">This file is needed to run this program<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi<span style="color: #000000">

Add on extra jar files to CLASSPATH

<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CLASSPATH<span style="color: #800000">" ] ; <span style="color: #0000ff">then<span style="color: #000000">
CLASSPATH=<span style="color: #800000">"<span style="color: #800000">$CLASSPATH<span style="color: #800000">"<span style="color: #000000">:
<span style="color: #0000ff">fi<span style="color: #000000">
CLASSPATH=<span style="color: #800000">"<span style="color: #800000">$CLASSPATH<span style="color: #800000">""<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"/bin/<span style="color: #000000">bootstrap.jar

<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_OUT<span style="color: #800000">" ] ; <span style="color: #0000ff">then<span style="color: #000000">
CATALINA_OUT=<span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/logs/<span style="color: #000000">catalina.out
<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_TMPDIR<span style="color: #800000">" ] ; <span style="color: #0000ff">then<span style="color: #000000">

Define the java.io.tmpdir to use <span style="color: #0000ff">for<span style="color: #000000"> Catalina

CATALINA_TMPDIR=<span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/<span style="color: #000000">temp
<span style="color: #0000ff">fi<span style="color: #000000">

Add tomcat-<span style="color: #000000">juli.jar to classpath

tomcat-juli.jar can be over-<span style="color: #000000">ridden per instance

<span style="color: #0000ff">if [ -r <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE/bin/tomcat-juli.jar<span style="color: #800000">" ] ; <span style="color: #0000ff">then<span style="color: #000000">
CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/tomcat-<span style="color: #000000">juli.jar
<span style="color: #0000ff">else<span style="color: #000000">
CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/tomcat-<span style="color: #000000">juli.jar
<span style="color: #0000ff">fi<span style="color: #000000">

Bugzilla <span style="color: #800080">37848: When no TTY is available,don<span style="color: #800000">'<span style="color: #800000">t output to console

have_tty=<span style="color: #800080">0
<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">tty<span style="color: #800000">" != <span style="color: #800000">"<span style="color: #800000">not a tty<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
have_tty=<span style="color: #800080">1
<span style="color: #0000ff">fi<span style="color: #000000">

For Cygwin,switch paths to Windows format before running java

<span style="color: #0000ff">if $cygwin; <span style="color: #0000ff">then<span style="color: #000000">
JAVA_HOME=cygpath --absolute --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$JAVA_HOME</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
JRE_HOME=cygpath --absolute --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$JRE_HOME</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
CATALINA_HOME=cygpath --absolute --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_HOME</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
CATALINA_BASE=cygpath --absolute --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_BASE</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
CATALINA_TMPDIR=cygpath --absolute --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_TMPDIR</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
CLASSPATH=cygpath --path --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CLASSPATH</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
JAVA_ENDORSED_DIRS=cygpath --path --windows <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$JAVA_ENDORSED_DIRS</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
<span style="color: #0000ff">fi<span style="color: #000000">

Set juli LogManager config <span style="color: #0000ff">file <span style="color: #0000ff">if<span style="color: #000000"> it is present and an override has not been issued

<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$LOGGING_CONFIG<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -r <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/conf/logging.properties ]; <span style="color: #0000ff">then<span style="color: #000000">
LOGGING_CONFIG=<span style="color: #800000">"<span style="color: #800000">-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties<span style="color: #800000">"
<span style="color: #0000ff">else<span style="color: #000000">

Bugzilla <span style="color: #800080">45585<span style="color: #000000">

LOGGING_CONFIG</span>=<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;-Dnop</span><span style="color: #800000"&gt;"</span>

<span style="color: #0000ff">fi
<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$LOGGING_MANAGER<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
LOGGING_MANAGER=<span style="color: #800000">"<span style="color: #800000">-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager<span style="color: #800000">"
<span style="color: #0000ff">fi<span style="color: #000000">

Uncomment the following line to <span style="color: #0000ff">make<span style="color: #000000"> the umask available when using the

org.apache.catalina.security.SecurityListener

JAVA_OPTS=<span style="color: #800000">"<span style="color: #800000">$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=umask<span style="color: #800000">"<span style="color: #000000">

----- Execute The Requested Command -----------------------------------------<span style="color: #000000">

Bugzilla <span style="color: #800080">37848: only output this <span style="color: #0000ff">if<span style="color: #000000"> we have a TTY

<span style="color: #0000ff">if [ $have_tty -eq <span style="color: #800080">1 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using CATALINA_BASE: $CATALINA_BASE<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using CATALINA_HOME: $CATALINA_HOME<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using CATALINA_TMPDIR: $CATALINA_TMPDIR<span style="color: #800000">"
<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">debug<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using JAVA_HOME: $JAVA_HOME<span style="color: #800000">"
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using JRE_HOME: $JRE_HOME<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using CLASSPATH: $CLASSPATH<span style="color: #800000">"
<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using CATALINA_PID: $CATALINA_PID<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">jpda<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$JPDA_TRANSPORT<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
JPDA_TRANSPORT=<span style="color: #800000">"<span style="color: #800000">dt_socket<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$JPDA_ADDRESS<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
JPDA_ADDRESS=<span style="color: #800000">"<span style="color: #800000">8000<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$JPDA_SUSPEND<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
JPDA_SUSPEND=<span style="color: #800000">"<span style="color: #800000">n<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$JPDA_OPTS<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
JPDA_OPTS=<span style="color: #800000">"<span style="color: #800000">-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND<span style="color: #800000">"
<span style="color: #0000ff">fi<span style="color: #000000">
CATALINA_OPTS=<span style="color: #800000">"<span style="color: #800000">$CATALINA_OPTS $JPDA_OPTS<span style="color: #800000">"
<span style="color: #0000ff">shift
<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">debug<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">if $os400; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Debug command not available on OS400<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">else
<span style="color: #0000ff">shift
<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">-security<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ $have_tty -eq <span style="color: #800080">1 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using Security Manager<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">shift<span style="color: #000000">
exec <span style="color: #800000">"<span style="color: #800000">$_RUNJDB<span style="color: #800000">" <span style="color: #800000">"<span style="color: #800000">$LOGGING_CONFIG<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">$JAVA_ENDORSED_DIRS<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">$CLASSPATH<span style="color: #800000">"<span style="color: #000000">
-sourcepath <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"/../../<span style="color: #000000">java
-<span style="color: #000000">Djava.security.manager
-Djava.security.policy==<span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/conf/<span style="color: #000000">catalina.policy
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">$CATALINA_TMPDIR<span style="color: #800000">"<span style="color: #000000">
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">"<span style="color: #000000"> start
<span style="color: #0000ff">else<span style="color: #000000">
exec <span style="color: #800000">"<span style="color: #800000">$_RUNJDB<span style="color: #800000">" <span style="color: #800000">"<span style="color: #800000">$LOGGING_CONFIG<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">$JAVA_ENDORSED_DIRS<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">$CLASSPATH<span style="color: #800000">"<span style="color: #000000">
-sourcepath <span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"/../../<span style="color: #000000">java
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">$CATALINA_HOME<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">$CATALINA_TMPDIR<span style="color: #800000">"<span style="color: #000000">
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">"<span style="color: #000000"> start
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi

<span style="color: #0000ff">elif [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">run<span style="color: #800000">" ]; <span style="color: #0000ff">then

<span style="color: #0000ff">shift
<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">-security<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ $have_tty -eq <span style="color: #800080">1 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using Security Manager<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">shift<span style="color: #000000">
eval exec <span style="color: #800000">"<span style="color: #800000">"$_RUNJAVA"<span style="color: #800000">" <span style="color: #800000">"<span style="color: #800000">"$LOGGING_CONFIG"<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">"$JAVA_ENDORSED_DIRS"<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">"$CLASSPATH"<span style="color: #800000">"<span style="color: #000000">
-<span style="color: #000000">Djava.security.manager
-Djava.security.policy==<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE/conf/catalina.policy"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_HOME"<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_TMPDIR"<span style="color: #800000">"<span style="color: #000000">
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">"<span style="color: #000000"> start
<span style="color: #0000ff">else<span style="color: #000000">
eval exec <span style="color: #800000">"<span style="color: #800000">"$_RUNJAVA"<span style="color: #800000">" <span style="color: #800000">"<span style="color: #800000">"$LOGGING_CONFIG"<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">"$JAVA_ENDORSED_DIRS"<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">"$CLASSPATH"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_HOME"<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_TMPDIR"<span style="color: #800000">"<span style="color: #000000">
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">"<span style="color: #000000"> start
<span style="color: #0000ff">fi

<span style="color: #0000ff">elif [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">start<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -s <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Existing PID file found during start.<span style="color: #800000">"
<span style="color: #0000ff">if [ -r <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
PID=<span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
<span style="color: #0000ff">ps -p $PID >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -eq <span style="color: #800080">0 ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Tomcat appears to still be running with PID $PID. Start aborted.<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Removing/clearing stale PID file.<span style="color: #800000">"
<span style="color: #0000ff">rm -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? != <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -<span style="color: #0000ff">w <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">cat /dev/<span style="color: #0000ff">null > <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">"
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Unable to remove or clear stale PID file. Start aborted.<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Unable to read PID file. Start aborted.<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">else
<span style="color: #0000ff">rm -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? != <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ ! -<span style="color: #0000ff">w <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Unable to remove or write to empty PID file. Start aborted.<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi

<span style="color: #0000ff">shift<span style="color: #000000">

<span style="color: #0000ff">touch <span style="color: #800000">"<span style="color: #800000">$CATALINA_OUT<span style="color: #800000">"

<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">-security<span style="color: #800000">" ] ; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ $have_tty -eq <span style="color: #800080">1 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Using Security Manager<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">shift<span style="color: #000000">
eval <span style="color: #800000">"<span style="color: #800000">"$_RUNJAVA"<span style="color: #800000">" <span style="color: #800000">"<span style="color: #800000">"$LOGGING_CONFIG"<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">"$JAVA_ENDORSED_DIRS"<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">"$CLASSPATH"<span style="color: #800000">"<span style="color: #000000">
-<span style="color: #000000">Djava.security.manager
-Djava.security.policy==<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE/conf/catalina.policy"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_HOME"<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_TMPDIR"<span style="color: #800000">"<span style="color: #000000">
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">"<span style="color: #000000"> start
>> <span style="color: #800000">"<span style="color: #800000">$CATALINA_OUT<span style="color: #800000">" <span style="color: #800080">2>&<span style="color: #800080">1 <span style="color: #800000">"<span style="color: #800000">&<span style="color: #800000">"

<span style="color: #0000ff">else<span style="color: #000000">
eval <span style="color: #800000">"<span style="color: #800000">"$_RUNJAVA"<span style="color: #800000">" <span style="color: #800000">"<span style="color: #800000">"$LOGGING_CONFIG"<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">"$JAVA_ENDORSED_DIRS"<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">"$CLASSPATH"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_HOME"<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_TMPDIR"<span style="color: #800000">"<span style="color: #000000">
-XX:+<span style="color: #000000">PrintGCDetails
-XX:+<span style="color: #000000">PrintGCDateStamps
-XX:+<span style="color: #000000">PrintGCTimeStamps
-Xloggc:<span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/logs/<span style="color: #000000">gc.log
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">" start <span style="color: #800000">"<span style="color: #800000">2>&1<span style="color: #800000">" | /usr/local/sbin/cronolog -S <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/logs/catalina_ln.out <span style="color: #800000">"<span style="color: #800000">$CATALINA_BASE<span style="color: #800000">"/logs/catalina.%Y-%m-%d-%H.out >> /dev/<span style="color: #0000ff">null &

<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo $! > <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">"
<span style="color: #0000ff">fi

<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Tomcat started.<span style="color: #800000">"

<span style="color: #0000ff">elif [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">stop<span style="color: #800000">" ] ; <span style="color: #0000ff">then

<span style="color: #0000ff">shift<span style="color: #000000">

SLEEP=<span style="color: #800080">5
<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo $<span style="color: #800080">1 | <span style="color: #0000ff">grep <span style="color: #800000">"<span style="color: #800000">[^0-9]<span style="color: #800000">" >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -gt <span style="color: #800080">0 ]; <span style="color: #0000ff">then<span style="color: #000000">
SLEEP=$<span style="color: #800080">1
<span style="color: #0000ff">shift
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi<span style="color: #000000">

FORCE=<span style="color: #800080">1
<span style="color: #0000ff">if [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">-force<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">shift<span style="color: #000000">
FORCE=<span style="color: #800080">1
<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -s <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">kill -<span style="color: #800080">0 <span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span> >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -gt <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">PID file found but no matching process was found. Stop aborted.<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">PID file is empty and has been ignored.<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted.<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi<span style="color: #000000">

eval <span style="color: #800000">"<span style="color: #800000">"$_RUNJAVA"<span style="color: #800000">"<span style="color: #000000"> $LOGGING_MANAGER $JAVA_OPTS
-Djava.endorsed.dirs=<span style="color: #800000">"<span style="color: #800000">"$JAVA_ENDORSED_DIRS"<span style="color: #800000">" -classpath <span style="color: #800000">"<span style="color: #800000">"$CLASSPATH"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.base=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_BASE"<span style="color: #800000">"<span style="color: #000000">
-Dcatalina.home=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_HOME"<span style="color: #800000">"<span style="color: #000000">
-Djava.io.tmpdir=<span style="color: #800000">"<span style="color: #800000">"$CATALINA_TMPDIR"<span style="color: #800000">"<span style="color: #000000">
org.apache.catalina.startup.Bootstrap <span style="color: #800000">"<span style="color: #800000">$@<span style="color: #800000">"<span style="color: #000000"> stop

stop failed. Shutdown port disabled? Try a normal <span style="color: #0000ff">kill<span style="color: #000000">.

<span style="color: #0000ff">if [ $? != <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">The stop command failed. Attempting to signal the process to stop through OS signal.<span style="color: #800000">"
<span style="color: #0000ff">kill -<span style="color: #800080">15 <span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span> >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi

<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">while [ $SLEEP -ge <span style="color: #800080">0 ]; <span style="color: #0000ff">do
<span style="color: #0000ff">kill -<span style="color: #800080">9 <span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span> >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -gt <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">rm -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? != <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -<span style="color: #0000ff">w <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">cat /dev/<span style="color: #0000ff">null > <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">"<span style="color: #000000">

If Tomcat has stopped don<span style="color: #800000">'<span style="color: #800000">t try and force a stop with an empty PID file

          FORCE=<span style="color: #800080"&gt;0</span>
        <span style="color: #0000ff"&gt;else</span>
          <span style="color: #0000ff"&gt;echo</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;The PID file could not be removed or cleared.</span><span style="color: #800000"&gt;"</span>
        <span style="color: #0000ff"&gt;fi</span>
      <span style="color: #0000ff"&gt;fi</span>
  <span style="color: #0000ff"&gt;ps</span> -ef | <span style="color: #0000ff"&gt;grep</span> tomcat | <span style="color: #0000ff"&gt;grep</span> -v <span style="color: #0000ff"&gt;grep</span> |  <span style="color: #0000ff"&gt;awk</span> <span style="color: #800000"&gt;'</span><span style="color: #800000"&gt;{print $2}</span><span style="color: #800000"&gt;'</span> | <span style="color: #0000ff"&gt;sed</span> -e <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;s/^/kill -9 /g</span><span style="color: #800000"&gt;"</span>|<span style="color: #0000ff"&gt;sh</span> -
      <span style="color: #0000ff"&gt;echo</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Tomcat stopped.</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
      break
    </span><span style="color: #0000ff"&gt;fi</span>
    <span style="color: #0000ff"&gt;if</span> [ $SLEEP -gt <span style="color: #800080"&gt;0</span> ]; <span style="color: #0000ff"&gt;then</span>
      <span style="color: #0000ff"&gt;sleep</span> <span style="color: #800080"&gt;1</span>
    <span style="color: #0000ff"&gt;fi</span>
    <span style="color: #0000ff"&gt;if</span> [ $SLEEP -eq <span style="color: #800080"&gt;0</span> ]; <span style="color: #0000ff"&gt;then</span>
      <span style="color: #0000ff"&gt;if</span> [ $FORCE -eq <span style="color: #800080"&gt;0</span> ]; <span style="color: #0000ff"&gt;then</span>
        <span style="color: #0000ff"&gt;echo</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Tomcat did not stop in time. PID file was not removed. To aid diagnostics a thread dump has been written to standard out.</span><span style="color: #800000"&gt;"</span>
        <span style="color: #0000ff"&gt;kill</span> -<span style="color: #800080"&gt;3</span> `<span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;`
      </span><span style="color: #0000ff"&gt;fi</span>
    <span style="color: #0000ff"&gt;fi</span><span style="color: #000000"&gt;
    SLEEP</span>=`<span style="color: #0000ff"&gt;expr</span> $SLEEP - <span style="color: #800080"&gt;1</span><span style="color: #000000"&gt; `
  </span><span style="color: #0000ff"&gt;done</span>
<span style="color: #0000ff"&gt;fi</span>

<span style="color: #0000ff">fi<span style="color: #000000">

KILL_SLEEP_INTERVAL=<span style="color: #800080">5
<span style="color: #0000ff">if [ $FORCE -eq <span style="color: #800080">1 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -z <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Kill failed: $CATALINA_PID not set<span style="color: #800000">"
<span style="color: #0000ff">else
<span style="color: #0000ff">if [ -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
PID=<span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Killing Tomcat with the PID: $PID<span style="color: #800000">"
<span style="color: #0000ff">kill -<span style="color: #800080">9<span style="color: #000000"> $PID
<span style="color: #0000ff">while [ $KILL_SLEEP_INTERVAL -ge <span style="color: #800080">0 ]; <span style="color: #0000ff">do
<span style="color: #0000ff">kill -<span style="color: #800080">0 <span style="color: #0000ff"&gt;cat</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_PID</span><span style="color: #800000"&gt;"</span> >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -gt <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">rm -f <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? != <span style="color: #800080">0 ]; <span style="color: #0000ff">then
<span style="color: #0000ff">if [ -<span style="color: #0000ff">w <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">" ]; <span style="color: #0000ff">then
<span style="color: #0000ff">cat /dev/<span style="color: #0000ff">null > <span style="color: #800000">"<span style="color: #800000">$CATALINA_PID<span style="color: #800000">"
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">The PID file could not be removed.<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">fi<span style="color: #000000">

Set this to zero <span style="color: #0000ff">else<span style="color: #000000"> a warning will be issued about the process still running

            KILL_SLEEP_INTERVAL</span>=<span style="color: #800080"&gt;0</span>
            <span style="color: #0000ff"&gt;echo</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;The Tomcat process has been killed.</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
            break
        </span><span style="color: #0000ff"&gt;fi</span>
        <span style="color: #0000ff"&gt;if</span> [ $KILL_SLEEP_INTERVAL -gt <span style="color: #800080"&gt;0</span> ]; <span style="color: #0000ff"&gt;then</span>
            <span style="color: #0000ff"&gt;sleep</span> <span style="color: #800080"&gt;1</span>
        <span style="color: #0000ff"&gt;fi</span><span style="color: #000000"&gt;
        KILL_SLEEP_INTERVAL</span>=`<span style="color: #0000ff"&gt;expr</span> $KILL_SLEEP_INTERVAL - <span style="color: #800080"&gt;1</span><span style="color: #000000"&gt; `
    </span><span style="color: #0000ff"&gt;done</span>
    <span style="color: #0000ff"&gt;if</span> [ $KILL_SLEEP_INTERVAL -gt <span style="color: #800080"&gt;0</span> ]; <span style="color: #0000ff"&gt;then</span>
        <span style="color: #0000ff"&gt;echo</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Tomcat has not been killed completely yet. The process might be waiting on some system call or might be UNINTERRUPTIBLE.</span><span style="color: #800000"&gt;"</span>
    <span style="color: #0000ff"&gt;fi</span>
  <span style="color: #0000ff"&gt;fi</span>
<span style="color: #0000ff"&gt;fi</span>

<span style="color: #0000ff">fi

<span style="color: #0000ff">elif [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">configtest<span style="color: #800000">" ] ; <span style="color: #0000ff">then<span style="color: #000000">

eval </span><span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;"$_RUNJAVA"</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt; $LOGGING_MANAGER $JAVA_OPTS 
  </span>-Djava.endorsed.dirs=<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;"$JAVA_ENDORSED_DIRS"</span><span style="color: #800000"&gt;"</span> -classpath <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;"$CLASSPATH"</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt; 
  </span>-Dcatalina.base=<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;"$CATALINA_BASE"</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt; 
  </span>-Dcatalina.home=<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;"$CATALINA_HOME"</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt; 
  </span>-Djava.io.tmpdir=<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;"$CATALINA_TMPDIR"</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt; 
  org.apache.catalina.startup.Bootstrap configtest
result</span>=$?
<span style="color: #0000ff"&gt;if</span> [ $result -ne <span style="color: #800080"&gt;0</span> ]; <span style="color: #0000ff"&gt;then</span>
    <span style="color: #0000ff"&gt;echo</span> <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;Configuration error detected!</span><span style="color: #800000"&gt;"</span>
<span style="color: #0000ff"&gt;fi</span><span style="color: #000000"&gt;
exit $result

<span style="color: #0000ff">elif [ <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" = <span style="color: #800000">"<span style="color: #800000">version<span style="color: #800000">" ] ; <span style="color: #0000ff">then

<span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$_RUNJAVA</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;   
  </span>-classpath <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;$CATALINA_HOME/lib/catalina.jar</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt; 
  org.apache.catalina.util.ServerInfo

<span style="color: #0000ff">else

<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Usage: catalina.sh ( commands ... )<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">commands:<span style="color: #800000">"
<span style="color: #0000ff">if $os400; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> debug Start Catalina in a debugger (not available on OS400)<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> debug -security Debug Catalina with a security manager (not available on OS400)<span style="color: #800000">"
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> debug Start Catalina in a debugger<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> debug -security Debug Catalina with a security manager<span style="color: #800000">"
<span style="color: #0000ff">fi
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> jpda start Start Catalina under JPDA debugger<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> run Start Catalina in the current window<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> run -security Start in the current window with security manager<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> start Start Catalina in a separate window<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> start -security Start in a separate window with security manager<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> stop Stop Catalina,waiting up to 5 seconds for the process to end<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> stop n Stop Catalina,waiting up to n seconds for the process to end<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> stop -force Stop Catalina,wait up to 5 seconds and then use kill -KILL if still running<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> stop n -force Stop Catalina,wait up to n seconds and then use kill -KILL if still running<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> configtest Run a basic syntax check on server.xml - check exit code for result<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000"> version What version of tomcat are you running?<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Note: Waiting for the process to end and use of the -force option require that $CATALINA_PID is defined<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1

<span style="color: #0000ff">fi

-ef | tomcat # 查看tomcat的运行情况

二、在jar包盛行的时代,需要为各个jar包写一个启动脚本,如下:

#!/bin/ PATH_PWD=$(cd <span style="color: #0000ff"&gt;dirname</span> $<span style="color: #800080"&gt;0</span>;<span style="color: #0000ff">echo <span style="color: #0000ff"&gt;pwd</span><span style="color: #000000"&gt;)
PATH_LOCATION
=/etc/<span style="color: #000000">init.d
JAR_NAME
=$(<span style="color: #0000ff">basename
$<span style="color: #800080">0<span style="color: #000000">)
PATH_WEBAPPS=/www/xx/<span style="color: #000000">webapps
PATH_TO_JAR=${PATH_WEBAPPS}/${JAR_NAME}/<span style="color: #000000">${JAR_NAME}.jar
PATH_LOG=/opt/logs/<span style="color: #000000">${JAR_NAME}
COMMAND_CRONOLOG=<span style="color: #0000ff"&gt;find</span> /usr -type f -name <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;cronolog</span><span style="color: #800000"&gt;"</span> | <span style="color: #0000ff"&gt;sed</span> -n <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;1p</span><span style="color: #800000"&gt;"</span> | <span style="color: #0000ff"&gt;tr</span> -d <span style="color: #800000"&gt;"</span> <span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
COMMAND_SS=<span style="color: #0000ff"&gt;find</span> /usr -type f -name <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;ss</span><span style="color: #800000"&gt;"</span> | <span style="color: #0000ff"&gt;sed</span> -n <span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;1p</span><span style="color: #800000"&gt;"</span> | <span style="color: #0000ff"&gt;tr</span> -d <span style="color: #800000"&gt;"</span> <span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;
PID_PATH_NAME=/var/run/<span style="color: #000000">${JAR_NAME}.pid
START_COMMAND=<span style="color: #800000">""<span style="color: #000000">
PORT_DEFAULT=<span style="color: #800000">""<span style="color: #000000">
JMX_PORT=<span style="color: #800080">12345

<span style="color: #0000ff">if [ x<span style="color: #800000">"<span style="color: #800000">$PATH_PWD<span style="color: #800000">" == x<span style="color: #800000">"<span style="color: #800000">$PATH_LOCATION<span style="color: #800000">" ];<span style="color: #0000ff">then<span style="color: #000000">
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">script ${JAR_NAME} must be in path ${PATH_LOCATION}!<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1<span style="color: #000000">;
<span style="color: #0000ff">fi
<span style="color: #0000ff">if [ -f ${PATH_TO_JAR} ];<span style="color: #0000ff">then<span style="color: #000000">
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">${JAR_NAME}.jar doesn't exist in /www/xx/webapps/${JAR_NAME}/<span style="color: #800000">"<span style="color: #000000">;
exit <span style="color: #800080">1<span style="color: #000000">;
<span style="color: #0000ff">fi<span style="color: #000000">

{
<span style="color: #0000ff">while<span style="color: #000000"> :
<span style="color: #0000ff">do
<span style="color: #0000ff">if ${COMMAND_SS} -tln |<span style="color: #0000ff">grep -q <span style="color: #800000">"<span style="color: #800000">:$JMX_PORT<span style="color: #800000">"
<span style="color: #0000ff">then<span style="color: #000000">
((JMX_PORT++<span style="color: #000000">))
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">jmx port is $JMX_PORT<span style="color: #800000">"<span style="color: #000000">
break
<span style="color: #0000ff">fi
<span style="color: #0000ff">done<span style="color: #000000">
}

service_check(){
<span style="color: #0000ff">if [ -L ${PATH_LOG}/${JAR_NAME}_ln.out ];<span style="color: #0000ff">then
<span style="color: #0000ff">rm -f ${PATH_LOG}/${JAR_NAME}_ln.out &&<span style="color: #000000">
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">${PATH_LOG}/${JAR_NAME}_ln.out has been deleted.<span style="color: #800000">"<span style="color: #000000">
return <span style="color: #800080">0<span style="color: #000000">;
<span style="color: #0000ff">fi<span style="color: #000000">
}

service_status(){
<span style="color: #0000ff">ps -ef | <span style="color: #0000ff">grep $PATH_TO_JAR | <span style="color: #0000ff">grep -v <span style="color: #0000ff">grep >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -ne <span style="color: #800080">0 ];<span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME is not running.<span style="color: #800000">"
<span style="color: #0000ff">rm -<span style="color: #000000">rf $PID_PATH_NAME
return <span style="color: #800080">1<span style="color: #000000">;
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME is running.<span style="color: #800000">"
<span style="color: #0000ff">ps -ef | <span style="color: #0000ff">grep $PATH_TO_JAR | <span style="color: #0000ff">grep -v <span style="color: #0000ff">grep | <span style="color: #0000ff">awk <span style="color: #800000">'<span style="color: #800000">{print $2}<span style="color: #800000">' > $PID_PATH_NAME >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1<span style="color: #000000">
return <span style="color: #800080">0<span style="color: #000000">;
<span style="color: #0000ff">fi<span style="color: #000000">

}

service_stop_force(){
<span style="color: #0000ff">ps -ef | <span style="color: #0000ff">grep $PATH_TO_JAR | <span style="color: #0000ff">grep -v <span style="color: #0000ff">grep >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">if [ $? -ne <span style="color: #800080">0 ];<span style="color: #0000ff">then
<span style="color: #0000ff">rm -<span style="color: #000000">rf $PID_PATH_NAME
return <span style="color: #800080">0<span style="color: #000000">;
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME will be killed by force!<span style="color: #800000">"
<span style="color: #0000ff">ps -ef | <span style="color: #0000ff">grep $PATH_TO_JAR | <span style="color: #0000ff">grep -v <span style="color: #0000ff">grep | <span style="color: #0000ff">awk <span style="color: #800000">'<span style="color: #800000">{print $2}<span style="color: #800000">' | <span style="color: #0000ff">xargs <span style="color: #0000ff">kill -<span style="color: #800080">9 >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">rm -<span style="color: #000000">rf $PID_PATH_NAME
return <span style="color: #800080">0<span style="color: #000000">;
<span style="color: #0000ff">fi<span style="color: #000000">

}

service_start(){
<span style="color: #0000ff">if [ -f $PID_PATH_NAME ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME is already running<span style="color: #800000">"<span style="color: #000000">
return <span style="color: #800080">1<span style="color: #000000">;
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME starting ...<span style="color: #800000">"<span style="color: #000000">
set -<span style="color: #000000">e
nohup java -Dfile.encoding=utf-<span style="color: #800080">8<span style="color: #000000">
-Xloggc:${PATH_LOG}/<span style="color: #000000">${JAR_NAME}_gc.log
      -XX:+<span style="color: #000000">PrintGCDetails  
       -XX:+<span style="color: #000000">PrintGCTimeStamps
       -XX:+<span style="color: #000000">PrintGCDateStamps
-XX:+<span style="color: #000000">HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=<span style="color: #000000">${PATH_LOG}
-<span style="color: #000000">Xms256m
-<span style="color: #000000">Xmx2048m
-Duser.timezone=GMT+<span style="color: #800080">08<span style="color: #000000">
-jar $PATH_TO_JAR $START_COMMAND $PORT_DEFAULT <span style="color: #800080">2>&<span style="color: #800080">1 | $COMMAND_CRONOLOG -S ${PATH_LOG}/${JAR_NAME}_ln.out ${PATH_LOG}/${JAR_NAME}.%Y-%m-%d-%H.out >> /dev/<span style="color: #0000ff">null &
<span style="color: #0000ff">if [ $? -ne <span style="color: #800080">0 ];<span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME started failed<span style="color: #800000">"<span style="color: #000000">
exit <span style="color: #800080">1
<span style="color: #0000ff">else
<span style="color: #0000ff">echo $! ><span style="color: #000000"> $PID_PATH_NAME
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME started ...<span style="color: #800000">"
<span style="color: #0000ff">fi<span style="color: #000000">
set +<span style="color: #000000">e
return <span style="color: #800080">0<span style="color: #000000">;
<span style="color: #0000ff">fi<span style="color: #000000">
}

service_stop(){
<span style="color: #0000ff">if [ -f $PID_PATH_NAME ]; <span style="color: #0000ff">then
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME stoping ...<span style="color: #800000">"
<span style="color: #0000ff">ps -ef | <span style="color: #0000ff">grep $PATH_TO_JAR | <span style="color: #0000ff">grep -v <span style="color: #0000ff">grep | <span style="color: #0000ff">awk <span style="color: #800000">'<span style="color: #800000">{print $2}<span style="color: #800000">' | <span style="color: #0000ff">xargs <span style="color: #0000ff">kill -<span style="color: #800080">15 >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME stopped ...<span style="color: #800000">"
<span style="color: #0000ff">rm -<span style="color: #000000">rf $PID_PATH_NAME
return <span style="color: #800080">0<span style="color: #000000">;
<span style="color: #0000ff">else
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">$JAR_NAME is not running ...<span style="color: #800000">"<span style="color: #000000">
return <span style="color: #800080">1<span style="color: #000000">;
<span style="color: #0000ff">fi<span style="color: #000000">
}

service_tag(){
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">----------------------------------------------------------------------------------------------------------<span style="color: #800000">"<span style="color: #000000">
}

service_info(){
service_tag
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">info-use service ${JAR_NAME} start|stop|status|restart<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">info-jar $PATH_TO_JAR<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">info-log ${PATH_LOG}/${JAR_NAME}_ln.out<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">info-gc-log ${PATH_LOG}/${JAR_NAME}_gc.log<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">info-heapdump-log ${PATH_LOG}<span style="color: #800000">"
<span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">info-memory -Xms256m -Xmx2048m<span style="color: #800000">"<span style="color: #000000">
service_tag
}

接收命令开始

<span style="color: #0000ff">case <span style="color: #800000">"<span style="color: #800000">$1<span style="color: #800000">" <span style="color: #0000ff">in
<span style="color: #800000">"<span style="color: #800000">status<span style="color: #800000">"<span style="color: #000000">)
service_tag
service_status
service_info
;;
<span style="color: #800000">"<span style="color: #800000">start<span style="color: #800000">"<span style="color: #000000">)
service_status >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1<span style="color: #000000">
service_check
service_start
service_tag
service_status
;;
<span style="color: #800000">"<span style="color: #800000">stop<span style="color: #800000">"<span style="color: #000000">)
service_status >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1<span style="color: #000000">
service_tag
service_stop
<span style="color: #0000ff">sleep <span style="color: #800080">3<span style="color: #000000">
service_stop_force
;;
<span style="color: #800000">"<span style="color: #800000">restart<span style="color: #800000">"<span style="color: #000000">)
service_status >/dev/<span style="color: #0000ff">null <span style="color: #800080">2>&<span style="color: #800080">1<span style="color: #000000">
service_stop
<span style="color: #0000ff">sleep <span style="color: #800080">10<span style="color: #000000">
service_stop_force
service_check
service_start
service_tag
service_status
;;
*) <span style="color: #0000ff">echo <span style="color: #800000">"<span style="color: #800000">Usage: service ${JAR_NAME} status|start|stop|restart<span style="color: #800000">"<span style="color: #000000"> ;;
<span style="color: #0000ff">esac

  运行脚本:

-ef | java #服务运行情况

  shell 脚本确实很方便,虽然这会涉及到另一个专业领域的东西,但是自已使用一下也很安逸呢~

  尤其在排查问题时, shell方面的知识往往会帮自己很大的忙。

  想要将自己写的脚本添加到service命令中,只需将该脚本移动到 ?/etc/init.d/ 目录下,即可以使用 ?service xxx command 了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读