sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
Тепер сценарій повинен запускатися під час завантаження. Зауважте, що цей метод також працює як з жорсткими, так і з символічними посиланнями ( ln
).
Редагувати
На даний момент у процесі завантаження PATH ще не встановлений, тому важливо, щоб абсолютні шляхи використовувалися протягом усього часу. Але, як вказував у коментарях Стів HHH, явно декларування повного шляху до файлу ( /etc/init.d/filename
) для команди update-rc.d недійсне в більшості версій Linux. На сторінці сторінки для update-rc.d другий параметр - це сценарій, розташований у /etc/init.d/*
. Оновлений вище код, щоб відобразити це.
Ще одна редакція
Також, як зазначено в коментарях (Чарльз Брандт), /filename
має бути сценарій стилю init. Був також наданий хороший шаблон - https://github.com/fhd/init-script-template .
Ще одне посилання на іншу статтю, щоб уникнути можливої гнилі посилань (хоча було б сумно, якби GitHub помер) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts
щеДруга редакція
Як вказувалося в коментарях (Рассел Ян), це працює лише в режимі default-rc.d за замовчуванням.
Відповідно до посібника update-rc.d, він може працювати в двох режимах, "машини, які використовують застарілий режим, матимуть файл /etc/init.d/.legacy-bootordering
", і в цьому випадку вам потрібно передати конфігурацію послідовності та рівня запуску через аргументи командного рядка.
Еквівалентний аргумент, наведений у наведеному вище прикладі, є
sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .