Рейтинг:3

включенная служба systemd не запускается

флаг vn
Bok

У меня есть две службы systemd, одна из которых представляет собой фляжное приложение, предназначенное для прокси-вызовов на серверную часть C. Пока приложение фляги работает, программа C не запускается при загрузке.

Мой служебный файл выглядит так:

[Ед. изм]
Описание=мой бэкэнд
After=multi-user.target

[Оказание услуг]
Пользователь=корень
ExecStart=/home/root/camtool
Тип=dbus
BusName=com.camera
Перезапустить = всегда
Рестартсек=10

и я включил службу следующим образом: systemctl включить camtool.service

Служба запускается, если я делаю systemctl запустить camtool.service но если я перезагружаю устройство, служба не запускается.

вывод статус systemctl camtool:

â camtool.service — мой бэкенд
     Загружено: загружено (/etc/systemd/system/camtool.service; включено; предустановка поставщика: отключена)
     Активный: неактивный (мертвый)

Если я проверю журналctl, записей нет.

журналctl -u camtool
-- Журналы начинаются в среду 14 июля 2021 г., 14:12:26 UTC, заканчиваются в среду, 14 июля 2021 г., 14:16:26 UTC. --
-- Нет записей --

Я не уверен, как отладить это дальше, так как сообщений об ошибках, похоже, нет. Как мне приступить к выяснению, почему программа не запустилась? есть ли способ проверить, была ли вообще попытка?

Программа C использует DBUS для предоставления функций для приложения flask и потоковой передачи данных через сокеты.

Jeff Schaller avatar
флаг ru
Я предполагаю, что у вас также есть раздел `[Install]`; Вы можете включить это в свой пост?
Bok avatar
флаг vn
Bok
Эй, Джефф. я не на данный момент, я имел обыкновение ``` [Установить] разыскиваемый=многопользовательская.цель ``` и иметь ```after=dbus```
Рейтинг:1
флаг vn
Bok

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

Путем отключения и включения это было исправлено. Я бы порекомендовал отключить и снова включить, когда когда-либо вносятся изменения в области, касающиеся целей.

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

Команды выглядели так:

root@system:~# systemctl отключить camtool
Удален файл /etc/systemd/system/multi-user-target.service.wants/camtool.service.
root@system:~# systemctl включить camtool
Создал символическую ссылку /etc/systemd/system/multi-user.target.wants/camtool.service — /etc/systemd/system/camtool.service.

Теперь он загружается вместе с системой.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.