- Action
- Command
- Service
- Options
Action 當 XX 事情發生時,依序執行下列的 command.. 這個 XX 事情稱為 " Trigger",有:
- boot : init 開始執行
- <name>=<value> : name == value 時
- device-add-<path> / device-remove-<path> : 當 device add 或 remove 時。
- service-exited-<name> : service 結束得時候。
- exec <path> [<argument>]* : fork and execute 'path'. init 會停止,等這個程式執行完畢
- export <nam> <value> : set global environment variable
- ifup <inteface>
- import <filename> : 類似 include XXX
- hostname <name> : 設定 hostname
- chdir <directory> : change working directory
- chmod <octal-mode> <path> : 變更 'path' 的權限
- chown <owner> <group> <path>
- chroot <directory> : change root directory
- class_start <service classname > : 把同屬於 'class name' 的所有 service 啟動
- class_stop <service classname >
- domain <name>
- insmod <path>
- mkdir <path> [mode] [owner] [groupe] : create a new directory
- mount <type> <device> <dir> [ <mount options>]*
- setrop <name> <valu> : set system property
- setrlimit <resource> <cir> <max> : 設定 resource 的使用值, max limit
- start / stop <service> : 停止,啟動 service
- symink <target> <path> : 就是 ln -s
- sysclktz : set timezone
- trigger <event> : Trigger Event
- write <path> <string> [<string>]* : 開啟 file (path),寫入 string...
- critical : 如果這個 service 在一分鐘內resart 4 次,把系統重新啟動,進入 recovery mode.
- disabled : 不啟動
- setenv <name> <value> : 啟動時,環境變數設好
- socket <name> <type> <perm> [ <user> [<group>]] : create socket並且 pass 給啟動的程式
- user >username> : 以 username 來執行
- groupe <groupename> [<groupename>]* : 以 groupename 來執行
- oneshoot : 執行一次就好,不用 restart
- class <name> : 給定一個 classs name, 同屬一個 class 的所有 service 都要一起啟動,一起停止。
- onrestart : 這個 service reatart 時,同時執行下列 command..
init 還會 upate 以下的 system property:
- init.action : 目前的 action
- init.command : 目前的 command
- init.svc.<name> : 目前 'service' 的狀態。
所以要執行自己的 command 大概要用 exec ..
沒有留言:
張貼留言