1. 程式人生 > >在linux下用shell將tomcat做成服務

在linux下用shell將tomcat做成服務

收下申明下,自己不是很會寫shell,指令碼是查了了自己改的。找了很多個總是有各種各樣的問題,這個是親測沒有問題,希望對讀者有幫助

在 /etc/init.d/ 下面建立檔案 tomcat

cd /etc/init.d
touch tomcat
vim tomcat

寫入指令碼程式碼:

#!/bin/bash  

#  
# tomcat: Start/Stop/Restart tomcat  
# author: lzh
# http://www.lerx.com
# chkconfig: 2345 80 20  
# description: Tomcat is a Java Servlet Container  
#  
#  
# match these values to your environment:
export CATALINA_BASE=/var/petschool/soft/apache-tomcat-7.0.5
export CATALINA_HOME=/var/petschool/soft/apache-tomcat-7.0.5
export CATALINA_TMPDIR=/var/petschool/soft/apache-tomcat-7.0.5/temp
export JRE_HOME=/var/petschool/soft/jdk/jre
export CLASSPATH=/var/petschool/soft/apache-tomcat-7.0.5/bin/bootstrap.jar
export JAVA_HOME=/var/petschool/soft/jdk
tomcat_e=/var/petschool/soft/tomcat

RETVAL=0
prog="tomcat"

# Source function library.  
. /etc/rc.d/init.d/functions  

# Source networking configuration.
. /etc/sysconfig/network

TOMCAT_PROCESS_STR=`ps aux | grep 'java.*tomcat' | grep -v grep`
PROCESS_ARRAY=(${TOMCAT_PROCESS_STR// / })
TOMCAT_PROCESS_ID=${PROCESS_ARRAY[1]}


start(){
	if [ -e $tomcat_e ];then
		echo -n "$prog: allready running"
		exit 1
	fi

	echo -n $"Starting $prog: "
	echo -e "\n"
        $CATALINA_HOME/bin/startup.sh
	touch $tomcat_e
            
}

stop(){
       
	echo -n $"Stopping $prog: "

	for ((a=1;a<=100;a++))
	do
		CHECK_STR_LENGTH=0
		TOMCAT_PROCESS_CHECK_STR=`ps aux | grep 'java.*tomcat' | grep -v grep`
		CHECK_STR_LENGTH=${#TOMCAT_PROCESS_CHECK_STR}
		
		if [ $CHECK_STR_LENGTH != 0 ]
		then
			kill $TOMCAT_PROCESS_ID
			
			sleep 2
			echo -n .
		else
			
			break
		fi
	
	done
	echo -e "\n"
	rm -f $tomcat_e

}

  
case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
*)
    echo -n $"Usage: $0 {start|stop|restart}"
    ;;
esac
exit $RETVAL

頁頭的幾個地址定義相信大家應該明白,就是自己的jdk,jre, tomcat的地址,tomcat_e 的地址自己定義是用來儲存允許狀態的檔案。

儲存tomcat檔案。

接下來是服務檔案授權

  sudo chmod +x /etc/init.d/tomcat

  chkconfig --add tomcat

  chkconfig  tomcat  on

然後就可以用 service tomcat start/stop/restart 來進行tomcat管理了。

謝謝!