Назад | Перейти на главную страницу

Как я могу запустить службу systemd после запуска одной из ее зависимостей?

Я использую систему Debian jessie. Я настроил cron услуга зависеть от slapd и nscd Сервисы. Я сделал это, создав здесь файл конфигурации systemd:

/etc/systemd/system/cron.service.d/foo.conf

который имеет это содержание:

[Unit]
Requires=slapd.service nscd.service
After=slapd.service nscd.service

После этого я могу перезапустить slapd сервис, а cron служба также перезапустится, так что ничего страшного. Однако, если я сначала остановлюсь slapd а затем запустите его снова отдельной командой, cron сервис больше не появится. Меня это укусило, когда я обновил некоторые системные пакеты, которые, по-видимому, вызывали slapd чтобы остановить, а затем запустить в два этапа - я не заметил проблемы, поэтому cron не запускался в течение многих дней.

В любом случае, вернемся к вопросу: можно ли настроить службу так, чтобы она запускалась автоматически, когда я запускаю ее зависимость? Например, что происходит при запуске системы?

Вам нужен cron для перезапуска при перезапуске slapd? Я бы так не подумал. Изменение Requires= к Wants= должно решить вашу проблему: остановка slapd не повлияет на cron.