Я пытаюсь добавить новый sysV сервис на хост Ubuntu 18.04. Однако service
команда не ведет себя, как описано в руководстве - несмотря на присутствие файла в/etc/init.d, "сервис" жалуется, что нет никакого systemd сервисного файла:
root@example.com:/etc/init.d# ls -l /etc/init.d/my-test-app
lrwxrwxrwx 1 root root 32 Mar 16 10:58 /etc/init.d/my-test-app -> /var/services/my-test.jar
root@example.com:/etc/init.d#
root@example.com:/etc/init.d#
root@example.com:/etc/init.d# service my-test-app status
Unit my-test-app.service could not be found.
root@example.com:/etc/init.d#
root@example.com:/etc/init.d#
root@example.com:/etc/init.d# /etc/init.d/my-test-app status
Running [9519]
root@example.com:/etc/init.d#
Это, потому что я использую символьную ссылку? Что-то еще?
Обратная совместимость между systemd
и система SysV init полагается на рычаги, обеспеченные systemd-sysv-generator
, как descibed здесь:
Генераторы должны быть выполнены автоматически на начальной загрузке, однако если Вы не хотите перезагружать, это, кажется, возможно выполнить их по требованию путем вызова
systemctl daemon-reload
От man systemctl
:
daemon-reload Reload the systemd manager configuration. This will rerun all generators (see systemd.generator(7)), reload all unit files, and recreate the entire dependency tree. While the daemon is being reloaded, all sockets systemd listens on behalf of user configuration will stay accessible.