Я создал приложение и файл сервиса. Вы можете запустить / остановить / перезапустить сервис ... Я хочу запустить этот сервис во время загрузки Suse Enterprise linux, я попытался добавить этот файл в /etc/init.d/my-service, но он не запускается при загрузке
1 ответ
Вы должны добавить этот файл в желаемый уровень запуска. Например:
sudo update-rc.d my-service default
Добавит его в уровень запуска по умолчанию в дистрибутивах на основе Debian. Также убедитесь, что файл имеет такую структуру:
#!/bin/bash
case "$1" in
start)
#do startup commands
;;
stop)
#do stop commands
;;
esac
Однако в SUSE Linux есть /etc/init.d/skeleton
который необходимо редактировать для создания новых сценариев. Этот скелет содержит специальные комментарии (они являются комментариями для оболочки, но используются YaST) для описания того, на каких уровнях запуска должен быть запуск / останов.
После этого скрипт будет отображаться в YaST → Система → Системные службы (уровень запуска) и может быть включен / выключен оттуда (создание ссылок и т.д.).
Чтобы включить службу, вы также можете использовать chkconfig
, например:
chkconfig --set someservice on
или же
chkconfig --set someservice off
и соответствующие ссылки будут созданы / удалены. Для более точного контроля над уровнями, вы можете использовать
chkconfig --level 35 someservice on
Источник: OpenSUSE update-rc.d эквивалент.