Startując init odczytuje plik /etc/inittab. Odczytuje go ponownie po otrzymaniu sygnału SIGHUP, [1] co eliminuje konieczność restartowania systemu po zmianie tegoż pliku.
Plik /etc/inittab może wydawać się nieco skomplikowanym jednak szybko go poznasz. Zaczniemy od omówienia sposobu włączenia oczekujących getty. Linia w pliku /etc/inittab ma następującą postać:
id:poziomy_pracy:akcja:procesDodatkowo plik może zawierać linie: puste i zaczynające się znakiem hash (`#'); obie są ignorowane.
Identyfikator linii. W przypadku getty najczęściej określa numer terminala, na którym program powinien nasłuchiwać (znak po /dev/tty). Powinien być unikalny i mieć określony rozmiar, nic więcej.
Poziomy pracy, na których powinno się wykonać zawartość linijki. Podaje się je jako liczby bez żadnych separatorów (np. 345). (poziomy pracy omówione są w następnej sekcji.)
respawn oznacza, że program powinien być restartowany, once oznacza pojedyńcze uruchomienie programu.
Polecenie do wykonania.
1:2345:respawn:/sbin/getty 9600 tty1Pierwsze pole mówi, że proces pracuje na /dev/tty1. Drugie oznacza, że robi to na poziomach pracy 2, 3, 4, 5. Trzecie nakazuje restart polecenia po zakończeniu działania. Ostatnie pole jest poleceniem do wykonania. [2]
Chcąc dodać więcej terminali lub linii dial-in (logowanie się przez modem) zmień odpowiednio /etc/inittab. Sprawdź strony podręcznika dotyczące: init, inittab, getty.
Jeżeli nie udało się uruchomić polecenia, a init został skonfigurowany do restartowania go system zostanie poważnie obciążony niekończącymi się restartami. Aby temu zapobiec init zapisuje informacje o częstotliwości restartowania programu, jeżeli odbywa się to zbyt często program poczeka 5 minut przed kolejną próbą.
| [1] | Możesz go wysłać wydając polecenie kill -HUP 1(będąc rootem oczywiście) |
| [2] | Różne wersje getty wymagają różnych opcji. Szukając szczegółów zajrzyj do strony podręcznika. |