歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux服務

通過修改Linux服務自動啟動指定應用程序

通過修改Linux服務自動啟動指定應用程序   Linux中修改系統服務的命令是chkconfig (check config),命令的詳細解釋如下:   chkconfig   功能說明:檢查,設置系統的各種服務。   語  法:chkconfig [--add][--del][--list][系統服務] 或 chkconfig [--level <等級代號>][系統服務][on/off/reset]   補充說明:這是Red Hat公司遵循GPL規則所開發的程序,它可查詢操作系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。   參  數:  --add  增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述文件內增加相關數據。   --del  刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述文件內刪除相關數據。   --level<等級代號>  指定讀系統服務要在哪一個執行等級中開啟或關畢    首先來執行 chkconfig --list命令來查看所有已添加的系統服務(下面的結果只是一部分)   [root@fd init.d]# chkconfig --list diskdump        0:off   1:off   2:off   3:off   4:off   5:off   6:off xfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off rhnsd           0:off   1:off   2:off   3:on    4:on    5:on    6:off cups-config-daemon      0:off   1:off   2:off   3:on    4:on    5:on    6:off netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off microcode_ctl   0:off   1:off   2:on    3:on    4:on    5:on    6:off netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off netdump         0:off   1:off   2:off   3:off   4:off   5:off   6:off cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off rawdevices      0:off   1:off   2:off   3:on    4:on    5:on    6:off psacct          0:off   1:off   2:off   3:off   4:off   5:off   6:off vncserver       0:off   1:off   2:off   3:off   4:off   5:off   6:off saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off dc_server       0:off   1:off   2:off   3:off   4:off   5:off   6:off mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off ibmasm          0:off   1:off   2:off   3:off   4:off   5:off   6:off dc_client       0:off   1:off   2:off   3:off   4:off   5:off   6:off     其中第一列表示服務名,後面的0-6表示在這六種啟動方式中該服務是啟動(on)還是關閉(off) 比如默認情況下,自動檢測新硬件的服務是啟動的(服務名是kudzu),每次啟動需要檢測一段時間,我們可以關閉服務,以後有了硬件改動在調用它。 chkconfig kudzu off   chkconfig --list kudzu kudzu           0:off   1:off   2:off   3:off   4:off   5:off   6:off 可以看到檢測新硬件的服務都被關閉了,再次啟動時就不會檢測新硬件了。如果有了硬件改動你可以選擇將此服務打開(chkconfig kudzu on),其實有更簡單的方法,輸入 service kudzu start 手動啟動檢測新硬件服務就可以了。這些服務都存放在/etc/init.d目錄下,他們都是可執行的shell文件,比如剛才用的檢測新硬件服務 [root@fd /]# ls -l /etc/init.d/kudzu -rwxr-xr-x  1 root root 2095 Aug 23  2005 /etc/init.d/kudzu 其實我們編寫的shell文件也可以放在這裡,然後添加成系統服務,但是我們必須遵守一個簡單的預定。我們先來看看kudzu的具體內容吧 根據這個模式編寫一個簡單的啟動tomcat的服務腳本,vi /etc/init.d/tomcat,內容如下   [root@fd /]# cat /etc/init.d/kudzu #!/bin/bash # # kudzu         This scripts runs the kudzu hardware probe. # # chkconfig: 345 05 95 # description:  This runs the hardware probe, and optionally configures \ #               changed hardware.   # This is an interactive program, we need the current locale 具體內容省略   # chkconfig: 2345 20 80 # description: simple example to start tomcat   export JAVA_HOME=/usr/java/jdk1.5.0_16 export CLASS_PATH=/usr/java/jdk1.5.0_16/lib export PATH=$JAVA_HOME/bin:$PATH /usr/Tomcat/bin/startup.sh   將tomcat添加到服務中 chkconfig --add tomcat 狀態設為啟動 chkconfig tomcat on           在tomcat文件的頭幾行的注釋語句中,必須包含chkconfig和description兩部分內容,否則在執行“chkconfig --add tomcat”時,會出現“tomcat服務不支持chkconfig”的錯誤提示。chkconfig這行表示缺省啟動的運行級別以及啟動和停止的優先級,如該服務缺省不再任何運行級啟動,則以 - 代替運行級別。在tomcat中表示腳本在運行級2、3、4、5啟動,啟動優先權為20(優先權數越大服務啟動的越晚),停止優先權為80。如果服務已經設置好了,那麼通過編輯tomcat文件來修改啟動優先權就不管用了,先刪除服務再添加進來就可以了。         我模仿檢測新硬件服務的內容編寫一個較為復雜的tomcat服務,在系統啟動時啟動tomcat,在系統關閉時關閉tomcat。內容如下   # chkconfig: 2345 30 70  # description: Starts and Stops Tomcat.   export JAVA_HOME=/usr/java/jdk1.5.0_16 export CLASS_PATH=/usr/java/jdk1.5.0_16/lib export PATH=$JAVA_HOME/bin:$PATH   case "$1" in  start)  /usr/Tomcat/bin/startup.sh  touch /var/lock/subsys/tomcat  ;;  status)         if [ -f /var/lock/subsys/tomcat ]; then           echo $"tomcat is running"           exit 0         fi         echo $"tomcat has stopped"         exit 3         ;;  stop)  /usr/Tomcat/bin/shutdown.sh  rm -f /var/lock/subsys/tomcat  ;;  restart)  /usr/Tomcat/bin/shutdown.sh /usr/Tomcat/bin/startup.sh ;; *)  echo "Usage: tomcat {start|stop|restart|status}"  exit 1  esac  exit 0      
Copyright © Linux教程網 All Rights Reserved