Chcę uruchomić jeden skrypt sysvinit przed drugim i wymyślić, jak to zrobić.
Aby mieć pewność, że dzieje się tak w kolejności, w jakiej mi się podoba, chciałbym zobaczyć listę w takiej kolejności.
Znalazłem sudo insserv --showall
już, ale nie mogę tego zrobić, ponieważ zawiera wiele skryptów inicjujących.
Jak sprawdzić, w jakiej kolejności skrypty /etc/init.d są ładowane w Debianie?
Odpowiedzi:
W katalogu /etc/init.d/ znajduje się kilka plików:
Po każdym uruchomieniu
update-rc.d
pliki się zmienią..depend.boot
plik jest dlaS
poziomu,.depend.start
dla2 3 4 5
poziomów i.depend.stop
dla0 1 6
.W moim przypadku mam następującą kolejność
.depend.start
:Możesz także zobaczyć, dlaczego zamówienie przedstawia się tak, jak powyżej. Każda kolejna linia wygląda następująco:
co oznacza, że
cgrulesengd
potrzebyrsyslog
cgconfig
należy rozpocząć przed.źródło
Dla każdego poziomu pracy (0 6) jest folder /etc/rc[N].d
W każdym katalogu znajduje się dowiązanie symboliczne, które zaczyna się od „S” lub od „K”. „S”, aby rozpocząć e „K”, aby zatrzymać. Skrypty są wykonywane w sposób uporządkowany leksykalnie z nazwą pliku , innymi słowy S10script zostanie wykonany jako pierwszy niż S20myscript. Na przykład :
mamy dwa proste skrypty, skrypt second.sh musi zostać wykonany po skrypcie fist.sh na bieżącym poziomie działania.
Jaki jest mój obecny poziom?
Teraz potrzebujemy dowiązania symbolicznego rozpoczynającego się od S (N) myScript dla pierwszego i S (N + 1) mysecondScript:
Możemy zrestartować komputer i sprawdzić dziennik wiadomości:
Testowany na starym Centos5
źródło