前言:
tomcat分為兩種,一種是安裝版,一種是解壓版,安裝版安裝之后會(huì)自動(dòng)注冊(cè)系統(tǒng)服務(wù),但是解壓版就不會(huì)自動(dòng)注冊(cè)系統(tǒng)服務(wù),今天我?guī)е蠹襾?lái)實(shí)現(xiàn)解壓版tomcat注冊(cè)系統(tǒng)服務(wù)。
我們?cè)贚inux中啟動(dòng)或者關(guān)閉或者查看系統(tǒng)服務(wù)的狀態(tài)的時(shí)候,其實(shí)都執(zhí)行了該服務(wù)所對(duì)應(yīng)的shell腳本文件,通常這些文件都保存在 /etc/init.d目錄中,因此我們想要將tomcat注冊(cè)進(jìn)服務(wù)里,就需要在這個(gè)目錄下編寫一個(gè)對(duì)應(yīng)的腳本文件。
1.1 創(chuàng)建
1.2 打開你創(chuàng)建的這個(gè)腳本文件
2.1 頭部
值得注意的是第四行并不是注釋。其中的2345表示開機(jī)自啟即0-6的 運(yùn)行級(jí)別中將第2、第3、第4、第5級(jí)別設(shè)為on。90代表的是啟動(dòng)順序,取值范圍在0~99之間,數(shù)值越大,啟動(dòng)順序越靠后。10代表的是關(guān)閉順序,取值范圍在0~99之間,數(shù)值越大表示關(guān)閉的順序越晚。
啟動(dòng)和關(guān)閉的規(guī)則為:先啟動(dòng)的后關(guān)閉,后啟動(dòng)的先關(guān)閉。
3.1 圖中3個(gè)變量分別代表的含義
tomcat_path:表示tomcat的目錄在哪個(gè)路徑
startup:表示啟動(dòng)tomcat的腳本文件的路徑
shutdown:表示關(guān)閉tomcat的腳本文件的路徑
在上圖中22行代表的是進(jìn)程的數(shù)量,23~29行代表的是如果數(shù)量大于0說明tomcat已經(jīng)運(yùn)行,此時(shí)輸出tomcat正在運(yùn)行,否則輸出tomcat是停止的。
$1表示傳遞過來(lái)的第一個(gè)參數(shù),如果是start,就調(diào)用start函數(shù),如果是stop,則調(diào)用stop函數(shù),如果是status,則調(diào)用status函數(shù),如果是restart,則調(diào)用restart函數(shù),如果輸入其他值,則直接退出并返回錯(cuò)誤信息。
46行中,"Usage"代表的是用法,"$0"代表的是腳本的名稱
"{start|stop|status|restart}"代表的是在傳參時(shí)候傳入其中任意一個(gè)可行參數(shù)
如上圖,輸入 ./mytomcat start提示mytomcat is running則運(yùn)行成功
如上圖,輸入 ./mytomcat stop提示mytomcat is stopped則停止成功
如上圖,輸入./mytomcat status 提示 mytomcat is running 表示tomcat正在運(yùn)行
如上圖,輸入./mytomcat restart 分別提示 mytomcat is stopped…和mytomcat is running…表示重啟成功。
hkconfig --add mytomcat 命令就是將名字為mytomcat的shell腳本注冊(cè)進(jìn)服務(wù)中
chkconfig -list命令查看服務(wù)列表中是否已經(jīng)成功寫入
tomcat腳本代碼:
#!/bin/bash
# mytomcat This shell iscript takes care of starting and stopping
# mytomcat.
# chkconfig: 2345 90 10
tomcat_path=/usr/local/tomcat7/apache-tomcat-7.0.78
startup=$tomcat_path/bin/startup.sh
shutdown=$tomcat_path/bin/shutdown.sh
start(){
$startup
echo "mytomcat is running..."
}
stop(){
$shutdown
echo "mytomcat is stopped..."
}
status(){
pidnum=`ps -ef | grep $tomcat_path|grep -v grep|wc -l`
if [ $pidnum -gt 0 ]
then
echo "mytomcat is running"
else
echo "mytomcat is stopped"
fi
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
esac
聯(lián)系客服