Мне нужно развить /etc/init.d
сценарий для запуска и остановки сервера (двоичный исполняемый файл) в Debian 10 Buster. В то время как в более ранних версиях Debian вы должны были написать полный сценарий оболочки, который вызывает вызовы 'start-stop-daemon'
, в последних выпусках эта механика, кажется, была абстрагирована. Страница руководства 'init-d-script'
дает простой скрипт, который запускает и останавливает сервер на основе установки одной переменной 'DAEMON'
.
Однако мне нужно настроить, записав файл блокировки на диск после запуска сервера, изменить текущий рабочий каталог и передать серверу настраиваемый аргумент.
Страница справочника относится к разработке функций переопределения, таких как 'do_start_override'
и 'do_stop_override'
которые предположительно вызываются вместо функций по умолчанию. Как мне подойти к написанию функции переопределения? Следует ли мне скопировать и вставить функцию 'do_start_cmd()'
из '/lib/init/init-d-script'
и изменить его? Или мне следует вызвать функцию 'start_daemon()'
что определено в '/lib/lsb/init-functions'
?
Умный ответ:
apt-get install sysvinit-core
Отказ от ответственности: я не делал этого на Buster, не пробуйте это на важной системе.
Предполагая, что вы хотите придерживаться нового значения по умолчанию, начиная с Джесси, systemd, сценарии init.d не являются предпочтительным методом. Настройка служебного модуля systemd будет путь пойти.