編寫啟動指令碼 以前寫的啟動指令碼都沒有顏色,研究了下functions ,functions 是個很好的啟動指令碼介面檔案,最重要的是daemon和killproc2個函數。於是自己跟著寫了nginx的 #!/bin/bash #chkconfig:35 23 34 #description: nginx webserver#set -x if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions ##載入functions,. 在這裡相當於source的功能fiprog=nginx ##服務名,會多處調用RETVAL=0 ##狀態傳回值,functions 函數會調用這個值nginx=/usr/local/nginx/sbin/nginxNGINX_CONF_FILE=/usr/local/nginx/conf/nginx.confpidfile=/usr/local/nginx/logs/nginx.pidlockfile=/var/lock/subsys/${prog} ##subsys目錄下的檔案是用於給其他程式判斷服務的執行個體運行狀態的 start() { echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE ###daemon調用後面的命令執行情況 RETVAL=$? echo [ $RETVAL -eq 0 ] && touch ${lockfile} return $RETVAL}stop () { echo -n $"Stopping $prog: " killproc -p ${pidfile} ###killproc 從pidfile 擷取到pid,並殺死 #RETVAL=$? echo [ $RETVAL -eq 0 ] && /bin/rm -f ${lockfile} return $RETVAL} case $1 in start) start;;stop)stop;;restart)stopstart;; esac