本帖最後由 king 於 2014-1-15 08:40 編輯
節錄自 systemd 專案網頁: systemd 是一個Linux的系統與服務管理器, 並且相容於 SysV 與 LSB init scripts. systemd 提供並行化任務的能力,使用 socket 與 D-Bus 來啟動服務, 按照需要啟動服務(daemons),使用 Linux control groups來追蹤程序,支援系統快照與回復系統狀態,維護掛載與自動掛載點。 並由精密的控制來管理各個服務,它亦可以完美的取代 sysvinit。
目前Arch Linux , Manjaro Linux 都是使用systemd 進行控制。 systemd 基本工具分析系統狀態輸出啟動的程序: 以下命令等效: 所有可用的單元文件存放在/usr/lib/systemd/system/和/etc/systemd/system/目錄(後者優先級更高)。查看所有已安裝服務:- $ systemctl list-unit-files
複製代碼 使用單元一個單元配置文件可以描述如下內容之一:系統服務(.service)、掛載點(.mount)、sockets(.sockets、系統設備、交換分區/文件、啟動目標(target)、文件系統路徑、由systemd管理的計時器。 詳情參閱man 5 systemd.unit . 使用systemctl控制單元時,通常需要使用單元文件的全名,包括擴展名(例如sshd.service)。但是有些單元可以在systemctl中使用簡寫方式。 - 如果無擴展名,systemctl默認把擴展名當作.service。例如netcfg和netcfg.service是等價的。
- 掛載點會自動轉化為相應的.mount單元。例如/home等價於home.mount。
- 設備會自動轉化為相應的.device單元,所以/dev/sda2等價於dev-sda2.device。
立即啟動程序: - # systemctl start <target>
複製代碼立即停止程序: - # systemctl stop <target>
複製代碼重啟程序: - # systemctl restart <target>
複製代碼命令單元重新讀取配置: - # systemctl reload <target>
複製代碼輸出程序運行狀態: - $ systemctl status <target>
複製代碼檢查程序是否配置為自動啟動: - $ systemctl is-enabled <target>
複製代碼開機自動啟動程序: - # systemctl enable <target>
複製代碼 注意:如果服務沒有Install段落,一般意味著應該通過其它服務自動調用它們。如果真的需要手動安裝,可以直接連接服務,如下(將foo替換為真實的服務名):- # ln -s /usr/lib/systemd/system/foo.service /etc/systemd/system/graphical.target.wants/
複製代碼
取消開機自動啟動程序: - # systemctl disable <target>
複製代碼顯示程序的手冊頁(必須由程序文件提供): - # systemctl help <target>
複製代碼重新載入systemd,掃描新的或有變動的程序: - # systemctl daemon-reload
複製代碼
|