Grundlegendes zu Solaris Runtime Control-Skripts

Laufzeitsteuerungsskripts sind für das Starten und Stoppen von Diensten verantwortlich, wenn das System die Ausführungsstufen ändert, z. B. während des Bootens und Herunterfahrens. Diese Skripts befinden sich in den Verzeichnissen rc # .d, in denen das Zeichen # durch die Ausführungsebene ersetzt wird, z. B. rc2.d, rc3.d und rc0.d.


Gut geschriebene Laufzeitsteuerungsskripts sollten mindestens Start und Stopp als Laufzeitparameter akzeptieren und können optional weitere Parameter wie Neustart und Status akzeptieren. Wenn ein Laufzeitsteuerungsskript mit einem Startparameter ausgeführt wird, startet es die Prozesse, für die es verantwortlich ist. Der Stop-Parameter bewirkt, dass das Skript diese Prozesse ebenfalls beendet.

In den Laufzeitsteuerungsverzeichnissen befinden sich eine Reihe von Laufzeitsteuerungsskripts, die mit Großbuchstaben K oder S, gefolgt von zwei Zahlen, beginnen. Wenn das System seine Ausführungsstufe ändert, werden die Skripts im entsprechenden Verzeichnis in sortierter Reihenfolge ausgeführt. Daher wird ein Skript, das mit K00 beginnt, vor K99 ausgeführt, das vor S00 ausgeführt wird. Ein Skript, das mit dem Buchstaben K beginnt, ist ein Kill-Skript und wird mit einem Stop-Parameter ausgeführt. S-Skripte werden mit einem Startparameter ausgeführt. Auf diese Weise kann dasselbe Skript zum Starten und Stoppen von Prozessen verwendet werden.

Es ist üblich, ein generisches Skript, zum Beispiel newservice, in /etc/init.d zu platzieren und dann logische Links zu diesem Skript im entsprechenden Verzeichnis rc # .d zu erstellen, dem eine geeignete Kombination aus K oder S und der entsprechenden Nummer vorangestellt ist. Um beispielsweise ein frühes Kill-Skript in rc0.d für einen neuen Dienst mit dem Namen rc-Skript in /etc/init.d zu erstellen, führen Sie als Superuser aus:

CD /etc/rc0.d
ln -s… /init.d/newservice K05newservice

Wenn Sie das System herunterfahren oder neu starten, ändern Sie seinen Run-Level in 6 bzw. 5. Es gibt keine Verzeichnisse /etc/rc5.d oder /etc/rc6.d. Da das Wechseln zu Runlevel 0 (Openboot-Eingabeaufforderung) dieselbe Prozedur wie das Herunterfahren oder Neustarten beinhaltet, wird in den Leveln 5 und 6 das Verzeichnis /etc/rc0.d gemeinsam genutzt. Es ist wichtig, Kill-Skripts für Dienste wie Datenbanken aufzunehmen, die beschädigt werden könnten, wenn sie nicht ordnungsgemäß heruntergefahren wurden.

Ein Beispiel für ein Laufzeitsteuerungsskript finden Sie im Tech-Recipe. Erstellen eines grundlegenden Solaris-Laufzeitsteuerungsskripts