Czy w systemie Linux istnieje odpowiednik rc.local dla zamknięcia systemu?

10

Mam kilka poleceń, które uruchamiam, rc.localwięc są one uruchamiane na końcu w sekwencji uruchamiania. Chciałbym wiedzieć, czy istnieje podobne narzędzie do cofania wyników tych poleceń podczas zamykania, takie jak rc.shutdown. Idealnie byłoby uruchomić przed dowolnym innym /etc/init.dskryptem.

kbyrd
źródło
3
Jest to wysoce zależne od dystrybucji. Dodaj informacje o swojej dystrybucji.
rozcietrzewiacz

Odpowiedzi:

8

Nie bardzo (przynajmniej o ile mi wiadomo).

Jeśli masz skrypty inicjujące w stylu SystemV, możesz utworzyć coś na wzór /etc/rc6.K00scriptnamei /etc/rc0.d/K00scriptname, który powinien zostać wykonany przed dowolnym innym skryptem.

Matt Simmons
źródło
4

ArchLinux ma do tego /etc/rc.local.shutdownplik. Nie jestem pewien co do innych dystrybucji

Stefan
źródło
2

Jest to generalnie możliwe, ale zależy od posiadanego systemu skryptów inicjujących. Jeśli twoja dystrybucja korzystała z najnowszej wersji OpenRC (tak jak robi to Gentoo), możesz umieścić w niej dowolne skrypty /etc/local.d/, wywołać je <something>.stopi będą uruchamiane podczas zamykania systemu. W przypadku starszych wersji będziesz musiał umieścić swoje polecenia wewnątrz local_stop()funkcji /etc/conf.d/local.

Kolejność zależy od ustawień systemu rc, ale zazwyczaj skrypty lokalne są uruchamiane jako ostatnie podczas uruchamiania i uruchamiane podczas zamykania.

rozcietrzewiacz
źródło
1

Jeśli masz upstart, możesz złapać zdarzenie zamknięcia i uruchomić skrypt, gdy zostanie on złapany.

txwikinger
źródło
1

W Gentoo skrypt „lokalny” robi dokładnie to, o co prosisz: uruchamia określone polecenia określone przez użytkownika podczas „start”, a inny zestaw poleceń po „stop”.

tante
źródło