sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
Skrypt powinien teraz rozpocząć się podczas rozruchu. Zauważ, że ta metoda działa również z dowiązaniami twardymi i symbolicznymi ( ln
).
Edytować
Na tym etapie procesu rozruchu PATH nie jest jeszcze ustawiona, dlatego ważne jest, aby w całym procesie były używane ścieżki bezwzględne. ALE, jak wskazano w komentarzach Steve'a HHH, jawne zadeklarowanie pełnej ścieżki pliku ( /etc/init.d/filename
) dla polecenia update-rc.d nie jest poprawne w większości wersji Linuksa. Na stronie podręcznika dla update-rc.d , drugim parametrem jest skrypt umieszczony w /etc/init.d/*
. Zaktualizowany powyższy kod, aby to odzwierciedlić.
Kolejna edycja
Jak wskazano w komentarzach (autorstwa Charlesa Brandta), /filename
musi to być skrypt inicjalizacyjny. Dostarczono również dobry szablon - https://github.com/fhd/init-script-template .
Kolejny link do innego artykułu, aby uniknąć możliwego gnicia linków (choć byłoby smutne, gdyby GitHub umarł) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts
yetAnother Edit
Jak wskazano w komentarzach (autorstwa Russella Yana), Działa to tylko w domyślnym trybie update-rc.d.
Zgodnie z instrukcją update-rc.d, może on działać w dwóch trybach: "maszyny używające trybu starszego będą miały plik /etc/init.d/.legacy-bootordering
", w którym to przypadku musisz przekazać sekwencję i konfigurację poziomu działania poprzez argumenty wiersza poleceń.
Równoważny argument ustawiony dla powyższego przykładu to
sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .