Sous Linux, existe-t-il un équivalent rc.local pour l'arrêt?

10

J'ai quelques commandes que j'exécute rc.localafin qu'elles soient exécutées en dernier dans la séquence de démarrage. Je voudrais savoir s'il existe une fonction similaire pour annuler les résultats de ces commandes à l'arrêt, comme un rc.shutdown. Idéalement, il devrait être exécuté avant tous les autres /etc/init.dscripts.

kbyrd
la source
3
Cela dépend fortement de la distribution. Veuillez ajouter des informations sur votre distribution.
rozcietrzewiacz

Réponses:

8

Pas vraiment (du moins, à ma connaissance).

Si vous avez des scripts d'initialisation de style SystemV, vous pouvez créer quelque chose dans le sens de /etc/rc6.K00scriptnameet /etc/rc0.d/K00scriptname, qui devrait être exécuté avant tout autre script.

Matt Simmons
la source
4

ArchLinux a un /etc/rc.local.shutdownfichier pour cela. Je ne suis pas sûr des autres distributions

Stefan
la source
2

C'est généralement possible, mais cela dépend du système de scripts init que vous avez. Si votre distribution utilisait une version récente d' OpenRC (comme le fait Gentoo), vous pourriez mettre tous les scripts /etc/local.d/dedans, les appeler <something>.stopet ils seraient exécutés à l'arrêt du système. Pour les versions plus anciennes, vous devriez mettre vos commandes dans la local_stop()fonction /etc/conf.d/local.

L'ordre dépend des paramètres du système rc, mais généralement les scripts locaux sont les derniers à s'exécuter au démarrage et les premiers à s'exécuter à l'arrêt.

rozcietrzewiacz
la source
1

Si vous avez un démarrage, vous pouvez intercepter l'événement d'arrêt et exécuter un script lorsqu'il est intercepté.

txwikinger
la source
1

Dans Gentoo, le script "local" fait exactement ce que vous demandez: il exécute certaines commandes spécifiées par l'utilisateur lors du "démarrage" et un autre ensemble de commandes lors de "l'arrêt".

tante
la source