Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
F.2.5. 工作定義
先前,sysvinit 套件為預設配置提供了 init daemon。當系統啟動後,這個 init daemon 將會執行
/etc/inittab
script 來啟動為各個 runlevel 所定義的系統程序。預設配置現在使用了一個由 upstart 套件所提供、事件導向的 init daemon。每當特定事件發生時,init daemon 便會處理儲存於 /etc/event.d
目錄中的工作。init daemon 會將系統的啟動程序視為此類型事件。
各項工作皆指定了一項程式,以及會使 init 執行或停止程式的事件。有些工作會被建立為任務(tasks),它會執行動作然後終止,直到另一個事件再次啟動了工作。其它工作則被建立為服務(services),init 將會持續執行直到另一個事件(或使用者)將它停下。
比方說,
/etc/events.d/tty2
工作是一項服務,專門用來維護 tty2 上的虛擬終端機,這段時間包括從系統被啟動,直至系統被關閉,或是當另一事件(如更換 runlevel)將工作停下時。工作會被建立成當虛擬終端機在非預期的情況下停止時,init 將會重新啟動該虛擬終端機:
# tty2 - getty # # This service maintains a getty on tty2 from the point the system is # started until it is shut down again. start on stopped rc2 start on stopped rc3 start on stopped rc4 start on started prefdm stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/mingetty tty2