Что такое start-stop-daemon и как его использовать?
Я пытаюсь автоматизировать определенную программу для запуска. Всякий раз, когда система запускается, программа должна запускаться. Для этого я пишу script в "/etc/init.d/" месте.
Что такое start-stop-daemon и как его использовать?
Я пытаюсь автоматизировать определенную программу для запуска. Всякий раз, когда система запускается, программа должна запускаться. Для этого я пишу script в "/etc/init.d/" месте.
Это программа для управления запуском и остановкой фоновых процессов на уровне системы (демонов). Вы используете его, передавая параметры (например, файл pid для создания/проверки) и аргументы команды для процесса, который вы хотите запустить.
Затем вы выполните одно из двух действий:
start-stop-daemon -S [other arguments] something
start something, если something еще не запущен. Если он работает, ничего не делайте.
start-stop-daemon -K [other arguments] something
stop something. Если something не работает, ничего не делайте.
На странице man содержится дополнительная информация о различных аргументах. Как правило, шаблон предоставляется в /etc/init.d/, который имеет другие команды для процесса init, который управляет запуском фоновых процессов.
start-stop-daemon --start --background -m --oknodo --pidfile ${PIDFILE} --exec ${DAEMON} - ${TARGETDIR}
--background= запуск в фоновом режиме-m= создать файл PID. Это используется, когда ваш процесс не создает свой собственный PID файл и используется с --background--oknodo= return 0, а не 1, если демона не предпринимают никаких действий--pidfile ${PIDFILE}= проверить, был ли создан файл PID или нет--exec= убедитесь, что процессы являются экземплярами этого исполняемого файла (в вашем случае DAEMON)Скопируйте /etc/init.d/skeleton файл (например, в /etc/init.d/rajeevdaemon или другое доброе имя), который является оболочкой script с большим комментариев и отредактируйте его в соответствии с вашими потребностями. Затем добавьте соответствующие символические ссылки, например. /etc/rc2.d/S98rajeevdaemon и /etc/rc2.d/K98rajeevdaemon.
Подробнее о уровнях выполнения.
И последние (или будущие) дистрибутивы Linux используют все больше systemd