Допустим, я пишу mine.service
файл. Тогда я использую systemctl enable mine.service
.
Если я позже решу отредактировать mine.service
, должен ли я сказать, systemd
что это mine.service
было изменено? Если да, то как мне это сделать?
После того, как вы внесете изменения в файл модуля, вы должны запустить его systemctl daemon-reload
, как описано здесь .
daemon-reload
Перезагрузить конфигурацию системного менеджера. Это перезапустит все генераторы (см. Systemd.generator (7) ), перезагрузит все файлы модулей и заново создаст все дерево зависимостей. Пока демон перезагружается, все сокеты, которые systemd прослушивает от имени пользовательской конфигурации, будут оставаться доступными.
Затем вы можете перезапустить (или перезагрузить) свой сервис по своему желанию с
systemctl restart your-service-name
(daemon-reload не будет перезагружать / перезапускать сами сервисы, просто уведомляет systemd о новой конфигурации)
systemctl restart
чтобы фактически перезапустить саму службу ...daemon-reload
не универсальный, надо бежатьsystemctl --user daemon-reload
за пользовательскими сервисами.В дополнение к ответу выше: Если вы что-то изменили в
[Install]
директиве, вам может потребоваться запустить ееsudo systemctl reenable YOURUNITFILE
, чтобы воссоздать символические ссылки в каталогах .target.источник