最近整理的都是Linux下的服务控制。
一只Tomcat不算什么,搞搞JSVC,做做系统服务没有什么难度。但要控制一群小猫(Tomcat)依次起床(Startup)、睡觉(Shutdown)呢?这就得花点功夫了!
用JSVC,依次启动一堆服务,还不能保证正常Shutdown,或者不能正常Startup。与其这样,不如Kill小猫。总之,我们都是用猫群,Kill掉后,我们召唤就是了!呵呵!
言归正传,启动不用说了,就是简单执行启动脚本。至于说停止,安全起见最好是kill掉对应的进程!为了查看当前状态,我们可以看看对应的PID!
#!/bin/bash #JDK路径 export Java_HOME="/usr/local/jdk" #前缀路径 PREFIX="/opt/servers/tomcat" #起始编号 BEGIN=1 #终止编号 END=5 #关闭 stop(){ for((i=$BEGIN;i<=$END;i++)) do #抽取Tomcat进程号PID pid=`ps -ef | grep tomcat$i |grep -v 'grep' | awk '{print $2}'` #测试当前进程是否处于活动状态 test "$pid" != "" && kill $pid && echo "Stop Tomcat$i Successful!" || echo "Stop Tomcat$i Failed!" done echo } #启动 start(){ for((i=$BEGIN;i<=$END;i++)) do #启动Tomcat $PREFIX$i/bin/startup.sh && echo "Start Tomcat$i Successful!" echo done } #状态 status(){ for((i=$BEGIN;i<=$END;i++)) do #抽取Tomcat进程号PID pid=`ps -ef | grep tomcat$i |grep -v 'grep' | awk '{print $2}'` #打印PID echo "Tomcat$i - $pid" done } case "$1" in start) echo "Start Tomcat$BEGIN ~ Tomcat$END" echo start echo ;; stop) echo "Stop Tomcat$BEGIN ~ Tomcat$END" echo stop echo ;; restart) echo "Restart Tomcat$BEGIN ~ Tomcat$END" echo stop start echo ;; status) echo "Pid of Tomcat$BEGIN ~ Tomcat$END" status echo ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 ;; esac