Ich habe einige Befehle, die ich ausführe, rc.local
damit sie zuletzt in der Startsequenz ausgeführt werden. Ich würde gerne wissen, ob es eine ähnliche Möglichkeit gibt, die Ergebnisse dieser Befehle beim Herunterfahren rückgängig zu machen, wie z rc.shutdown
. Im Idealfall wird es vor einem der anderen /etc/init.d
Skripte ausgeführt.
10
Antworten:
Nicht wirklich (zumindest meines Wissens).
Wenn Sie Init-Skripte im SystemV-Stil haben, können Sie etwas in Anlehnung an
/etc/rc6.K00scriptname
und erstellen/etc/rc0.d/K00scriptname
, das vor allen anderen Skripten ausgeführt werden soll.quelle
ArchLinux hat dafür eine
/etc/rc.local.shutdown
Datei. Bei anderen Distributionen bin ich mir nicht sicherquelle
Dies ist im Allgemeinen möglich, hängt jedoch von Ihrem Init-Scripts-System ab. Wenn Ihre Distribution eine aktuelle Version von OpenRC verwendet (wie Gentoo), können Sie alle Skripte einfügen
/etc/local.d/
, sie aufrufen<something>.stop
und sie werden beim Herunterfahren des Systems ausgeführt. Bei älteren Versionen müssten Sie Ihre Befehle in dielocal_stop()
Funktion eingeben/etc/conf.d/local
.Die Reihenfolge hängt von den Einstellungen des RC-Systems ab. In der Regel werden die lokalen Skripts jedoch beim Start als letztes und beim Herunterfahren als erstes ausgeführt.
quelle
Wenn Sie einen Upstart haben, können Sie das Shutdown-Ereignis abfangen und ein Skript ausführen, wenn es abgefangen wird.
quelle
In Gentoo macht das "lokale" Skript genau das, wonach Sie fragen: Es führt bestimmte benutzerdefinierte Befehle beim Starten und einen weiteren Befehlssatz beim Stoppen aus.
quelle