Смущен, почему служба systemd не запускается при загрузке

Я написал несколько простых деmonoв и хочу, чтобы моя система автоматически запускала их при загрузке. Моему демону нужен демон Bluetooth для запуска и сокет UNIX для вывода данных. Что отличается от того, что можно прочитать в большинстве руководств и руководств по systemd, так это то, что с точки зрения демона я хочу, чтобы systemd создавал сокет для записи, а не для прослушивания. Когда я запускаю службу и сокет вручную, все работает, однако после выполнения systemctl enable foo.service мой демон не запускается после перезагрузки. Основываясь на man systemd.unit , man systemd.target и некотором man systemd.unit , я создал 3 файла модуля.

В связи с тем, что, по-видимому, существует как минимум несколько способов описания зависимостей для systemd, я не знаю, что не так, почему мой сервис не запускается автоматически после перезагрузки. Должен ли я создать файл foo.target или он не нужен в таком простом сценарии? Я также не уверен, должен ли WantedBy в foo.socket быть установлен в foo.target или, более того, в sockets.target.

Ниже приведен fragment кода из моих трех файлов. Я был бы очень признателен, если бы кто-нибудь взглянул и дал мне несколько советов.

 ############ foo.service file ############################################# [Unit] Description=Foo Service Requires=foo.socket [Service] Type=simple ExecStart=/path/to/start [Install] WantedBy=foo.target ########################################################################### ############ foo.socket file ############################################## [Unit] Description=Foo socket for write, not for listen [Socket] ListenDatagram=/run/foo/foo.sk [Install] WantedBy=foo.target ########################################################################### ############ foo.target file ############################################## [Unit] Description=Foo target Requires=bluetooth.target ########################################################################### 

One Solution collect form web for “Смущен, почему служба systemd не запускается при загрузке”

Вы дали команду systemd запускать службу и сокет при запуске цели, но вы не указали, что цель не должна запускаться при загрузке. В нем нет раздела [Install] , поэтому ваш сервис не загружается при загрузке.

objective не обязательна для этого простого случая. Переместите пункт Requires= от вашей цели к вашей службе.

Для WantedBy= в вашем сервисе попробуйте использовать multi-user.target , или, если вашему сервису нужна сеть, network-online.target .

  • С помощью systemd-networkd выполните действие при изменении конфигурации сети
  • Как systemd обрабатывает размонтирование / usr при завершении работы, поскольку он установлен в initramfs?
  • некоторые функциональные кнопки не распознаются (даже на уровне scancode) после возобновления сна
  • Как написать сценарий запуска для systemd
  • Systemd: останавливать основной процесс (или службу) при сбое подпроцесса
  • SystemD не запускает ExecStartPre, пока я не перезагружу и не перезагружу службу
  • Правильное завершение работы компьютера с X сеанса
  • Как изменить временные ограничения на сценарии shutdown systemd?
  • Ubuntu 16.04.1: Почему некоторые программы запускаются как системами systemd, так и initV?
  • systemd: nginx не разрешает записи / etc / hosts во время загрузки
  • Смутно о "/etc/init.d" и службах в "/ lib / systemd / system"
  • Interesting Posts

    подсчет количества строк с определенным текстом и извлечение строк из положительных результатов

    как закончить последовательность tmux после переключения панелей

    curl игнорирует параметр интерфейса

    Что такое альтернатива initlog (присутствует в RHEL5), но не рекомендуется в RHEL6?

    RT5572 показан в lsusb, но не iwconfig

    Меню правой кнопки мыши в Nemo отсутствует «создать ярлык» и «скопировать / переместить в»

    Как сделать 32-битное и 64-битное изображение iso под 64-разрядным debian, используя simple-cdd?

    Установить Gvim после vim

    Как выбрать строки в файле, который содержит число из списка номеров

    Есть ли что-то вроде досуга для использования ЦП?

    Переключение (su) на учетную запись без пароля

    7za – Извлечь файл с паролем

    Пока команда не найдена и синтаксическая ошибка рядом с неожиданным токеном

    Создание виртуального файла, содержимое которого определяется программным путем

    Не удается переименовать каталог, который у меня есть.

    Linux и Unix - лучшая ОС в мире.