Я не уверен, какой дистрибутив вы используете, но я подхожу с RHEL 7 (потому что это то, что я использую, и он должен быть похожим).
systemd
обычно ищет служебные файлы в / usr / lib / systemd / system / *. Service
(вы можете посмотреть ссылки на другие службы, чтобы получить представление о своем дистрибутиве)
Чтобы включить службу, в ней должен быть раздел [install]
, а внутри этого раздела установки должен быть тег WantedBy =
. Этот WantedBy
указывает, при каких условиях он должен быть включен (например, уровень выполнения). WantedBy
должен соответствовать каталогу в / etc / systemd / system / *. Target.wants
.
Затем, если вы включите службу, в / etc / systemd / system / *. Target.wants /
будет создана ссылка, указывающая на служебный файл в / usr / lib / systemd / system /
. Отключение службы должно удалить только эту ссылку.
Например, если у вас есть служебный файл (test.service), содержащий:
[install]
WantedBy=multi-user.target
, то:
systemctl enable test.service
Создает ссылку внутри
/etc/systemd/system/multi-user.target.wants/
с именем test.service
, которая указывает на /usr/lib/systemd/system/test.service
И отключение службы должно только удалить ссылку.