2007年4月16日 星期一

AutoRun Way in Linux (3)

Linux Autorn Way
啟動和關閉(或reboot):

1.程式的啟動由Script控制(ex:script filename為testserverctl)
則Script內容則由下法來設置啟動
case $1 in
 start)
   #將要啟動的程式寫至於此,如下:
   cd /tmp/testserver
   ./tesetserver &
   exit 0
   ;;
 stop)
   #將要結束的程式寫至於此,如下:
   cd /tmp/testserver
   test –e testserver_pid && cat testserver_pid xargs kill -15 echo “no testserver_pid file”
   exit 0
   ;;

執行script方式為:/script所在路徑/testserverctl start 及 /script所在路徑/testserverctl stop
將此script建立在/etc/rc.d/init.d/下
並分別在所需執行的runlevel下(如:/etc/rc.d/rc3.d/)分別建立兩種連結:S99testserver、K05testserver
使這兩連結分別連結到../init.d/testserver
即可在開機後自動啟動此程式,以及關機(或reboot)時關閉此程式
註:此法可不需修改原程式來判別參數

2.程式的啟動由程式本身執行檔控制(ex:script filename為testserverctl)
則Script內容則由下法來設置啟動
case $1 in
 start)
   #將要啟動的程式寫至於此,如下:
   cd /tmp/testserver
   ./tesetserver start
   exit 0
   ;;
 stop)
   #將要結束的程式寫至於此,如下:
   cd /tmp/testserver
   ./tesetserver stop
   exit 0
   ;;

執行script方式為:/script所在路徑/testserverctl start 及 /script所在路徑/testserverctl stop
將此script建立在/etc/rc.d/init.d/下
並分別在所需執行的runlevel下(如:/etc/rc.d/rc3.d/)分別建立兩種連結:S99testserver、K05testserver
使這兩連結分別連結到../init.d/testserver
即可在開機後自動啟動此程式,以及關機(或reboot)時關閉此程式
註:此法需修改原程式來判別參數start、stop
※以上兩種開機後自動啟動也可以將要執行的script寫入/etc/rc.d/rc.local裡
※結束需時較久的程式不建議在關機(或reboot)時才結束,最好事先結束完在關機(或reboot)

沒有留言: