天天看點

Shell腳本編寫系統服務腳本

[[email protected] ~]# vim myprog
#!/bin/bash
case  "$1" in
start)
echo -n "正在啟動sleep服務……"   
if sleep 120
then
echo "ok"
fi
;;
stop)
echo -n "正在停止sleep服務……"
pkill "sleep" &> /dev/null
echo "ok"
;;
status)
if 
pgrep "sleep" &>/dev/null
then
echo "sleep服務已經啟動"
else
echo "sleep服務已經停止"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "用法:$0 {start|stop|status|restart}"
esac
[[email protected] ~]# sh myprog                 //未提供任何參數,則按預設處理
用法:myprog {start|stop|status|restart}
[[email protected] ~]# sh myprog start
正在啟動sleep服務……ok
[[email protected] ~]# sh myprog stop
正在停止sleep服務……ok
           

腳本中通過位置變量$1指定的start、stop、restart、status控制參數,分别用來啟動、停止、重新開機、檢視sleep程序的裝填,指令sleep用來暫停指定秒數的時間。

在Linux系統中,源碼軟體包編譯安裝後提供的服務控制腳本使用了case分支語句,也有一些源碼包并沒有提供服務控制腳本,編譯安裝後可參考上述腳本自行編寫服務控制腳本。