热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Tomcatstart/stopscript

http://blog.valotas.com/2011/05/tomcat-initd-script.html http://blog.botha.us/


http://blog.valotas.com/2011/05/tomcat-initd-script.html


http://blog.botha.us/sarel/?p=101


#!/bin/

bash
#
# tomcat7 This shell script takes care of starting and stopping Tomcat
#
# chkconfig:

-

80


20



#
### BEGIN INIT INFO
# Provides: tomcat7
# Required

-

Start: $network $syslog
# Required

-

Stop: $network $syslog
# Default

-

Start:
# Default

-

Stop:
# Description: Release implementation


for

Servlet

2.5

and JSP

2.1



# Short

-

Description: start and stop tomcat
### END INIT INFO
## Source


function


library.
#.

/etc/rc.d/init.d/

functions
export JAVA_HOME

=/usr/java/

default
export JAVA_OPTS

=

"


-Dfile.encoding=UTF-8 \

-Dcatalina.logbase=/var/log/

tomcat7 \

-Dnet.sf.ehcache.skipUpdateCheck=

true


\

-XX:+

DoEscapeAnalysis \

-XX:+

UseConcMarkSweepGC \

-XX:+

CMSClassUnloadingEnabled \

-XX:+

UseParNewGC \

-XX:MaxPermSize=

128m \

-Xms512m -Xmx512m

"

export PATH=$JAVA_HOME/

bin:$PATH
TOMCAT_HOME

=/usr/share/

tomcat7
SHUTDOWN_WAIT

=

20



tomcat_pid() {


echo

`

ps

aux |

grep

org.apache.catalina.startup.Bootstrap |

grep

-v

grep

|

awk


'


{ print $2 }


'


`
}
start() {
pid

=

$(tomcat_pid)


if

[ -n

"


$pid


"


]


then


echo


"


Tomcat is already running (pid: $pid)


"


else



# Start tomcat


echo


"


Starting tomcat


"



ulimit

-n

100000



umask


007

/bin/

su

-p -s /bin/

sh

tomcat $TOMCAT_HOME/bin/startup.

sh


fi



return


0



}
stop() {
pid

=

$(tomcat_pid)


if

[ -n

"


$pid


"


]


then


echo


"


Stoping Tomcat


"

/bin/

su

-p -s /bin/

sh

tomcat $TOMCAT_HOME/bin/shutdown.

sh



let kwait

=

$SHUTDOWN_WAIT
count

=

0


;


until

[ `

ps

-p $pid |

grep

-c $pid` =

'


0


'

] || [ $count -

gt $kwait ]


do


echo

-n -e

"


\nwaiting for processes to exit


"


;


sleep


1



let count

=$count+

1


;


done


if

[ $count -gt $kwait ];

then


echo

-n -e

"


\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds


"


kill

-

9


$pid


fi


else


echo


"


Tomcat is not running


"


fi



return


0



}


case

$

1


in



start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid

=

$(tomcat_pid)


if

[ -n

"


$pid


"


]


then


echo


"


Tomcat is running with pid: $pid


"


else


echo


"


Tomcat is not running


"


fi



;;


esac



exit


0




#!/bin/

bash
#
# tomcat This shell script takes care of starting and stopping Tomcat
# It also handles killing Tomcat


in


case


it doesn’t stop gracefully
# It uses a PID


file


to determine the process ID so it should work with multiple Tomcat instances on one server
#
# chkconfig:

-

80


20



#
### BEGIN INIT INFO
# Provides: tomcat
# Required

-

Start: $network $syslog
# Required

-

Stop: $network $syslog
# Default

-Start:

2


3


4


5



# Default

-Stop:

0


1


6



# Description: Tomcat service
# Short

-

Description: start and stop tomcat
### END INIT INFO
## Source


function


library.
#.

/etc/rc.d/init.d/

functions
# Begin configuration section
export JAVA_HOME

=/opt/jdk1.

6.0



# These options are used when Tomcat is started
export CATALINA_OPTS

=”-Xmx512m -XX:-

UseGCOverheadLimit \

-Dcom.sun.management.jmxremote=

true


\

-Dcom.sun.management.jmxremote.port=

511


\

-Dcom.sun.management.jmxremote.authenticate=

false


\

-Dcom.sun.management.jmxremote.ssl=

false



export LD_LIBRARY_PATH

=/usr/local/apr/

lib
# Set this to the path where this Tomcat is installed
TOMCAT_HOME

=/opt/

tomcat
# Number of seconds to


wait


after nicely requesting stop
SHUTDOWN_WAIT

=

10



# This should be a different


file


for


each tomcat
CATALINA_PID

=/var/run/

tomcat.pid
RUNASUSER

=

root
# End configuration section
export PATH

=$JAVA_HOME/

bin:$PATH
export CATALINA_PID
start() {
pid

=`

cat

$CATALINA_PID

2

>/dev/

null


`


if

[ -n

"


$pid


"


]


then


echo


“Tomcat is already running (pid: $pid)”


else



# Start tomcat


echo


“Starting tomcat”


touch


$CATALINA_PID


chown


$RUNASUSER $CATALINA_PID

/bin/

su

-p -s /bin/

sh

$RUNASUSER $TOMCAT_HOME/bin/catalina.

sh


start


fi



return


0



}
stop() {
pid

=`

cat

$CATALINA_PID

2

>/dev/

null


`


if

[ -n

"


$pid


"


]


then

/bin/

su

-p -s /bin/

sh

$RUNASUSER $TOMCAT_HOME/bin/catalina.

sh


stop


echo

-

n “Stopping Tomcat”
let kwait

=

$SHUTDOWN_WAIT
count

=

0


;


until

[ `

ps

-p $pid |

grep

-c $pid` =

'


0


'

] || [ $count -

gt $kwait ]


do


echo

-

n “.”;


sleep


1



let count

=$count+

1


;


done


echo


“”


if

[ $count -gt $kwait ];

then


echo


“process is still running after $SHUTDOWN_WAIT seconds, killing process”


kill


$pid


sleep


3



#


if

it’s still running use

kill

-

9


if

[ `

ps

-p $pid |

grep

-c $pid` -gt

'


0


'

];

then


echo

“process is still running, using

kill

-

9





kill

-

9


$pid


sleep


3


fi


fi


if

[ `

ps

-p $pid |

grep

-c $pid` -gt

'


0


'

];

then


echo


“process is still running, I give up”


else



# success, delete PID


file


rm


$CATALINA_PID


fi


else


echo


“Tomcat is not running”


fi



return


0



}


case

$

1


in



start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid

=

$(tomcat_pid)


if

[ -n

"


$pid


"


]


then


echo


“Tomcat is running with pid: $pid”


else


echo


“Tomcat is not running”


fi



;;


esac



exit


0


 

 

 


Tomcat start/stop script




推荐阅读
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 在 Android 开发中,`android:exported` 属性用于控制组件(如 Activity、Service、BroadcastReceiver 和 ContentProvider)是否可以被其他应用组件访问或与其交互。若将此属性设为 `true`,则允许外部应用调用或与之交互;反之,若设为 `false`,则仅限于同一应用内的组件进行访问。这一属性对于确保应用的安全性和隐私保护至关重要。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • Webpack 初探:Import 和 Require 的使用
    本文介绍了 Webpack 中 Import 和 Require 的基本概念和使用方法,帮助读者更好地理解和应用模块化开发。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
author-avatar
手机用户2502940777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有