inittab(4) inittab(4)
NAME
inittab - Skript für init
BESCHREIBUNG
Die Datei /etc/inittab steuert das Prozeß-Scheduling durch init. Bei
den Prozessen, die von init zeitgesteuert werden, handelt es sich im
Normalfall um Dämon-Prozesse.
Die Datei inittab enthält eine Reihe von Einträgen mit positionsabhän-
giger Bedeutung und folgendem Format:
id:rstate:action:process
Jeder Eintrag wird durch ein Zeilenendezeichen abgeschlossen; soll ein
Eintrag in der nächsten Zeile fortgesetzt werden, so muß dem Zeilenen-
dezeichen ein Gegenschrägstrich (\) vorangestellt werden. Ein Eintrag
darf maximal 512 Zeichen enthalten. Im Feld process können mit # Kom-
mentare angehängt werden.
Ein Eintrag besteht aus folgenden Feldern:
id Eine ein- oder zweistellige Zeichenkette zur eindeutigen
Kennzeichnung eines Eintrags.
rstate Hiermit wird der Betriebszustand definiert, in dem der Ein-
trag verarbeitet werden soll. Ein Betriebszustand entspricht
letztendlich einer bestimmten Konstellation von Prozessen
innerhalb des Systems. Somit sind jedem durch init erzeugten
Prozeß ein oder mehrere Betriebszustände zugeordnet, in
denen er aktiv sein darf. Den verschiedenen Betriebszustän-
den sind Nummern in Bereich 0 bis 6 zugeordnet. Wenn das
System sich somit im Betriebszustand 1 befindet, werden
lediglich diejenigen Einträge verarbeitet, die im Feld
rstate den Wert 1 enthalten. Wenn init die Aufforderung zum
Wechsel des Betriebszustands empfängt, wird an sämtliche
Prozesse, deren rstate-Feld keinen Wert für den anvisierten
Betriebszustand enthält, das Warnsignal SIGTERM übermittelt;
daraufhin erhalten sie eine Galgenfrist von fünf Sekunden,
bevor sie "gewaltsam" durch das Abbruchsignal SIGKILL been-
det werden. Im Feld rstate können für einen Prozeß mehrere
Betriebszustände definiert sein; dafür werden zwei oder mehr
Betriebszustände von 0 bis 6 in beliebiger Kombination ange-
geben. Wird kein Betriebszustand angegeben, wird davon aus-
gegangen, daß der Prozeß in sämtlichen möglichen Betriebszu-
ständen (0 bis 6) aktiv sein darf. Im Feld rstate dürfen
zusätzlich die Werte a, b und c enthalten sein, obwohl es
sich hierbei nicht um echte Betriebszustände handelt. Ent-
hält ein Eintrag diese Zeichen im Feld rstate, so wird er
nur dann verarbeitet, wenn ein init- oder telinit-Prozeß
seine Ausführung anfordert (unabhängig vom aktuellen
Betriebszustand des Systems). Nähere Informationen hierzu
finden Sie unter init(1M). Der Unterschied zwischen diesen
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
inittab(4) inittab(4)
Zeichen und echten Betriebszuständen besteht darin, daß init
die Betriebszustände a, b oder c auf keinen Fall aufrufen
kann. Außerdem findet durch eine Anforderung zur Ausführung
eines dieser Prozesse kein Wechsel des aktuellen Betriebszu-
stands statt. Ein weiterer Unterschied besteht darin, daß
ein durch a, b oder c aufgerufener Prozeß beim Wechsel des
Betriebszustands durch init nicht abgebrochen wird. Ein der-
artiger Prozeß wird nur abgebrochen, wenn seine Zeile in der
Datei inittab im Feld action mit off gekennzeichnet ist,
seine Zeile aus inittab gelöscht wird oder init in den Ein-
benutzerbetrieb wechselt.
action Die Schlüsselwörter in diesem Feld informieren init darüber,
wie der im Feld process angegebene Prozeß verarbeitet werden
soll. init erkennt folgende Zeichenketten im Feld action:
respawn Wenn der Prozeß nicht aktiv ist, soll er
gestartet werden; es soll nicht auf seine
Beendigung gewartet werden (Datei inittab
weiterhin abarbeiten); wenn der Prozeß been-
det wird, soll er neu gestartet werden. Wenn
der Prozeß bereits aktiv sind, soll nichts
geschehen und die Datei inittab weiterhin
abgearbeitet werden.
wait Sobald init in den Betriebszustand wechselt,
der zum Feld rstate des Eintrags paßt, soll
der Prozeß gestartet und auf seine Beendigung
gewartet werden. Bei sämtlichen nachfolgenden
Lesezugriffen auf die Datei inittab während
des aktuellen Betriebszustands soll init die-
sen Eintrag ignorieren.
once Wenn init in einen Betriebszustand wechselt,
der zum rstate-Feld des Eintrags paßt, soll
nicht auf die Beendigung des Prozesses gewar-
tet werden. Der Prozeß soll nach seiner Been-
digung nicht neu gestartet werden. Wenn init
in einen neuen Betriebszustand wechselt und
der Prozeß bereits bei einem früheren Wechsel
des Betriebssystems aktiviert wurde und noch
aktiv ist, wird das Programm nicht neu
gestartet.
boot Dieser Eintrag soll nur verarbeitet werden,
während init die Datei inittab beim Laden des
Systems liest. init soll den Prozeß starten
und nicht auf seine Beendigung warten. Der
Prozeß soll nach seiner Beendigung nicht neu
gestartet werden. Diese Anweisung macht nur
Sinn, wenn das Feld rstate entweder den Stan-
dardwert enthält oder sein Inhalt zum
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
inittab(4) inittab(4)
Betriebszustand von init beim Laden des
Systems paßt. Diese Aktion ist für eine
Initialisierungsfunktion von Nutzen, die nach
dem Aus- und Einschalten des Rechners aufge-
rufen werden soll.
bootwait Dieser Eintrag soll abgearbeitet werden, wenn
init zum ersten Mal nach dem Laden des
Systems vom Einbenutzer- in den Mehrbenutzer-
betrieb wechselt (wenn initdefault auf 2
gesetzt ist, wird der Prozeß unmittelbar nach
dem Neuladen aufgerufen). init startet den
Prozeß, wartet auf seine Beendigung und star-
tet den Prozeß nicht erneut nach seiner Been-
digung.
powerfail Der diesem Eintrag zugeordnete Prozeß wird
nur dann aufgerufen, wenn init das Stromaus-
fall-Signal SIGPWR empfängt [siehe
signal(2)].
powerwait Der diesem Eintrag zugeordnete Prozeß wird
nur dann aufgerufen, wenn init das Stromaus-
fall-Signal SIGPWR empfängt; die Verarbeitung
von inittab wird erst nach der Beendigung des
Prozesses fortgesetzt.
off Wenn der diesem Eintrag zugeordnete Prozeß
aktuell aktiv ist, soll das Warnsignal SIG-
TERM abgeschickt werden und der Prozeß nach
einer Frist von fünf Sekunden mit dem
Abbruchsignal SIGKILL beendet werden. Wenn
der Prozeß nicht aktiv ist, soll der Eintrag
ignoriert werden.
ondemand Diese Anweisung entspricht der Aktion
respawn. Sie hat exakt dieselbe Funktion wie
respawn, hat aber ein anderes Schlüsselwort,
damit sie nicht versehentlich im Zusammenhang
mit Betriebszuständen benutzt wird. Diese
Anweisung wird nur benutzt, wenn im Feld
rstate der Wert a, b oder c enthalten ist.
initdefault Ein Eintrag mit dieser Aktion wird nur unmit-
telbar nach dem Aufrufen von init abgearbei-
tet. Anhand dieses Eintrags bestimmt init
gegebenenfalls den Betriebszustand, der zu
Beginn aufgerufen werden soll. Hierzu ermit-
telt es den höchsten Betriebszustand, der im
Feld rstate angegeben ist, und ruft ihn auf.
Wenn das Feld rstate keinen Wert enthält,
wird dies mit 0123456 gleichgesetzt, d. h.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
inittab(4) inittab(4)
init ruft den Betriebszustand 0 auf, mit dem
Ergebnis, daß sich das System ausschaltet.
Wenn es keinen initdefault-Eintrag in inittab
findet, fordert init den Benutzer beim Neula-
den des Systems zur Angabe des anfänglichen
Betriebszustands auf.
sysinit Einträge dieses Typs werden abgearbeitet,
bevor init auf die Konsole zuzugreifen ver-
sucht (d. h. vor dem Prompt Console Login:).
Dieser Eintrag sollte möglichst nur zur
Initialisierung von Geräten benutzt werden,
auf denen init möglicherweise die Aufforde-
rung zur Angabe des Betriebszustands ausgeben
könnte. Diese Einträge werden abgearbeitet;
das Laden des Systems wird erst nach beende-
ter Abarbeitung dieser Einträge fortgesetzt.
process Hierbei handelt es sich um ein Kommando, das ausgeführt wer-
den soll. Das ganze process-Feld wird mit dem Präfix exec
versehen und an einen neu erzeugten sh-Prozeß als
sh -c 'exec command' übergeben. Somit kann im Feld process
ein beliebiges sh-Kommando mit zulässiger Syntax enthalten
sein.
Es können Kommentare an den Prozeß-Eintrag angehängt werden,
die mit # eingeleitet werden.
Es können maximal 2500 Prozesse eingetragen werden.
SIEHE AUCH
who(1), init(1M), ttymon(1M), exec(2), open(2), signal(2).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98