410 Poznaj Linux
Zanim przystąpimy do opisywania struktury plików inittab i rc, należałoby powiedzieć kilka słów o procesie init, będącym procesem macierzystym w stosunku do pliku inittab. Po uruchomieniu init wczytuje zawartość owego pliku i kieruje się zawartymi w nim poleceniami. Polecenia te nakazują zazwyczaj umożliwienie użytkownikom otwierania sesji oraz kontrolę procesów uruchamianych podczas uruchamiania systemu.
init posiada 15 różnych poziomów działania (ang. mn levels). Zmiany poziomu działania może dokonać tylko administrator, uruchamiając program /sbin/telinit i podając numer żądanego poziomu.
Po uruchomieniu wszystkich procesów potomnych, init przechodzi w stan oczekiwania. Sygnałami wyzwalającymi są: zakończenie działania przez proces potomny, awaria zasilania lub sygnał o zmianie poziomu działania. W momencie wystąpienia któregoś z powyższych zdarzeń, init powtórnie wczytuje i wykonuje plik /etc/inittab. Nowe polecenia mogą być dopisane do inittab w dowolnej chwili, ale init wykona je dopiero w momencie powtórnej analizy pliku.
Plik inittab zawiera listę poleceń dla programu init w postaci wyrażeń rozdzielonych średnikami o następującej składni:
identyfikator:poziomy_działania:czynność:proces
Linie zaczynające się znakiem # stanowią komentarze; wszystkie pozostałe linie definiują procesy, które należy uruchomić.
Tabela 26.1 opisuje elementy składowe pojedynczego wyrażenia inittab. Tabela 26.1. Struktura pojedynczej linii w pliku init tab
identyfikator
poziom_działania
czynność
proces
Unikatowa sekwencja 1 -4 znaków jednoznacznie identyfikująca każde polecenie
Poziom działania, na którym powinno zostać wykonane dane polecenie Czynność, jaką należy wykonać
Nazwa procesu do uruchomienia, jeśli poprzedzimy ją znakiem +, init nic skataloguje danego procesu w logach utmp i wtmp