Zar/.ąri/iinie demonami 447
Zar/.ąri/iinie demonami 447
Od czego należy zacząć?
Większość usług dostarczanych przez system nie jest na szczęście niezbędna do jego poprawnego działania. Jeśli chcemy, aby Inittab bez przerwy nadzorował proces sprawdzając, czy aby na pewno działa, warto umieścić odpowiedzialnego za ten proces demona w pliku inittab. Szczęśliwie, większość demonów nic wymaga az takiej uwagi i dla większej wygody obsługi i konserwacji najlepiej uruchamiać je poprzez skrypt /etc/rc.d/init.d, a obsługiwać za pomocą polecenia tksysv.
Kiedy demon jest uruchamiany z pliku inittab i init musi zbyt często wskrzeszać (ang. rcspawu) program, spowodować to może chwilowe unieruchomienie systemu. Na ekranie pojawi się wtedy komunikat podobny do poniższego komunikatu zaczerpniętego z pliku komunikatów jądra systemu (ang. kemcl message filc,
/ var/lo<j/messatjos):
init: process respawning too fast. disabled for 5 minutes
Umieszczanie nowych procesów w pliku inittab jest stosunkowo proste. Jak wiele innych systemowych plików Linuksa, tak i ten plik jest wewnętrznie organizowany za pomocą znaku dwukropka (:). Każdy z wierszy pliku ma mniej więcej taki format:
[ID] : [Poziomy działania na których jest uruchamiany] : [Akcja] [nazwa programu i argumenty]
Tabela 28.2. Charakterystyka pliku Inittab
Nazwa pola Opis
ID (identyfikator) Krótki opis wiersza lub zdarzenia, które zaszło. Dla przykładu: wciśnięcie kombinacji klawiszy Ctrl+Alt+Dclctc powoduje, żc program init zagląda do miejsca oznaczonego w pliku inittab identyfikatorem etrl-alt-dci. W pliku istnieje również identyfikator dla zdarzeń takich jak na przykład awaria zasilania, wywołujący proces (również zwany demonem) realizujący odpowiednią usługę, która z kolei uruchamia system monitorowania UPS (patrz pod hasło powerd na stronach wywoływanych poleceniem man jeśli chcesz zobaczyć jak to działa). Usługi związane z urządzeniami z klasy terminali (takimi jak terminale wirtualne czy porty szeregowe) wymagają bezwzględnie jako identyfikatora nazwy portu poprzedzonej literami tty (przykładowo ttySl oznacza port si)
Poziom działania To pole przechowuje numery poziomów działania, na których polecenie powinno być wykonywane (np. 345)