在上面函數主要識別的關鍵字有:
copy capability chdir chroot class class_start class_stop console chown chmod critical disabled domainname device exec export group hostname
ifup insmod import keycodes loglevel mkdir mount on oneshot onrestart restart service setenv setkey setprop setrlimit socket start stop
symlink sysclktz trigger user write。
也就是設定檔只能使用上面的關鍵字,其它都是作為標識符的。這些關鍵的作用,其實是通過預先定義的操作來決定的,如下代碼所示:
#001 #define KEYWORD(symbol, flags, nargs, func) K_##symbol,
#002 enum {
#003 K_UNKNOWN,
#004 #endif
#005 KEYWORD(capability, OPTION, 0, 0)
這個關鍵字是用來執行linux服務之前檢查linux核心的相容性,它是一個選項。
#006 KEYWORD(chdir, COMMAND, 1, do_chdir)
這個關鍵字是用來改變當前工作的目錄,它是一個命令。
#007 KEYWORD(chroot, COMMAND, 1, do_chroot)
這個關鍵字是用來更改某個進程所能看到的根目錄,即將某進程限制在指定目錄中,保證該進程只能對該目錄及其子目錄的檔案有所動作,從而保證整個伺服器的安全,它是一個命令。
#008 KEYWORD(class, OPTION, 0, 0)
這個關鍵字是為一個服務指明一個類名稱,它是一個選項。
#009 KEYWORD(class_start, COMMAND, 1, do_class_start)
這個關鍵字是啟動所有指定服務類下的未運行服務,它是一個命令。
#010 KEYWORD(class_stop, COMMAND, 1, do_class_stop)
這個關鍵字是停止指定服務類下的所有已啟動並執行服務,它是一個命令。
#011 KEYWORD(console, OPTION, 0, 0)
這個關鍵字是控制台選項,它是一個選項。
#012 KEYWORD(critical, OPTION, 0, 0)
這個關鍵字是說明這是一個對於裝置關鍵的服務。如果他四分鐘內退出大於四次,系統將會重啟並進入recovery(恢複)模式。
#013 KEYWORD(disabled, OPTION, 0, 0)
這個關鍵字是說明這個服務不會同與他同trigger(觸發器)下的服務自動啟動。他必須被明確的按名啟動。。
#014 KEYWORD(domainname, COMMAND, 1, do_domainname)
這個關鍵字是設定網域名稱,它是一個命令。
#015 KEYWORD(exec, COMMAND, 1, do_exec)
這個關鍵字是建立或執行一個程式,它是一個命令。
#016 KEYWORD(export, COMMAND, 2, do_export)
這個關鍵字是用來設定全域環境變數的值,它是一個命令。
#017 KEYWORD(group, OPTION, 0, 0)
這個關鍵字是用來改服務的組名,它是一個選項。
#018 KEYWORD(hostname, COMMAND, 1, do_hostname)
這個關鍵字是用來主機名稱,它是一個命令。
#019 KEYWORD(ifup, COMMAND, 1, do_ifup)
這個關鍵字是用來啟動網路介面,它是一個命令。
#020 KEYWORD(insmod, COMMAND, 1, do_insmod)
這個關鍵字是用來載入指定路徑的模組,它是一個命令。
#021 KEYWORD(import, COMMAND, 1, do_import)
這個關鍵字是用來載入一個init能識別的rc檔案,它是一個命令。
#022 KEYWORD(keycodes, OPTION, 0, 0)
這個關鍵字是用來定義按鍵碼的選項。
#023 KEYWORD(mkdir, COMMAND, 1, do_mkdir)
這個關鍵字是用來建立一個目錄,它是一個命令。
#024 KEYWORD(mount, COMMAND, 3, do_mount)
這個關鍵字是用來指定目錄載入裝置,它是一個命令。
#025 KEYWORD(on, SECTION, 0, 0)
這個關鍵字是用來設定一段命令按什麼事件進行觸發運行,它是一個段描述符。
#026 KEYWORD(oneshot, OPTION, 0, 0)
這個關鍵字是用來設定伺服器只運行一次就關閉,它是一個選項。
#027 KEYWORD(onrestart, OPTION, 0, 0)
這個關鍵字是用來設定當服務重啟動,執行一個命令,它是一個選項。
#028 KEYWORD(restart, COMMAND, 1, do_restart)
這個關鍵字是用來重新啟動服務,它是一個命令。
#029 KEYWORD(service, SECTION, 0, 0)
這個關鍵字是用來設定一段服務的命令,往往一段服務裡需要有多個選項組成。
#030 KEYWORD(setenv, OPTION, 2, 0)
這個關鍵字是用來設定環境變數,它是一個選項。
#031 KEYWORD(setkey, COMMAND, 0, do_setkey)
這個關鍵字是用來設定按鍵的索引和索引值,它是一個命令。
#032 KEYWORD(setprop, COMMAND, 2, do_setprop)
這個關鍵字是用來設定系統屬性名稱為某個值,它是一個命令。
#033 KEYWORD(setrlimit, COMMAND, 3, do_setrlimit)
這個關鍵字是用來設定系統資源限制,它是一個命令。
#034 KEYWORD(socket, OPTION, 0, 0)
這個關鍵字是用來設定socket給一個應用程式,它是一個選項。
#035 KEYWORD(start, COMMAND, 1, do_start)
這個關鍵字是用來啟動一個服務,它是一個命令。
#036 KEYWORD(stop, COMMAND, 1, do_stop)
這個關鍵字是用來停止一個服務,它是一個命令。
#037 KEYWORD(trigger, COMMAND, 1, do_trigger)
這個關鍵字是用來標誌一個觸發命令,它是一個命令。
#038 KEYWORD(symlink, COMMAND, 1, do_symlink)
這個關鍵字是用來設定一個路徑的符號串連,它是一個命令。
#039 KEYWORD(sysclktz, COMMAND, 1, do_sysclktz)
這個關鍵字是用來設定系統時鐘基準,它是一個命令。
#040 KEYWORD(user, OPTION, 0, 0)
這個關鍵字是用來設定服務、檔案或目錄所屬的使用者,它是一個選項。
#041 KEYWORD(write, COMMAND, 2, do_write)
這個關鍵字是用來開啟一個檔案寫多個字串,它是一個命令。
#042 KEYWORD(copy, COMMAND, 2, do_copy)
這個關鍵字是用來拷貝檔案,它是一個命令。
#043 KEYWORD(chown, COMMAND, 2, do_chown)
這