Я пытаюсь изучить основы использования systemd и столкнулся с запутанной проблемой с пользовательскими сервисными блоками.
При запуске обычных служб с помощью systemctl запустите some.service. Я могу найти полный журнал для этого сервиса (включая то, что он напечатал в stdout / stderr, насколько я понимаю), запустив sudo journalctl --unit some.service .
Рассмотрим пример сервисного файла chatty.service :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Когда я помещаю этот служебный файл в ~ / .config / systemd / user / chatty.service и запускаю его с помощью systemctl --user start chatty.service, я не могу найти его вывод, отправленный на стандартный вывод в journalctl, ни с обычным journalctl, ни с journalctl - -user . Я получаю только следующий вывод в обоих:
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Starting chatty.service...
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Started chatty.service.
И journalctl --unit chatty.service вообще ничего не возвращает (с или без --user не имеет значения).
Хотя, если я переместу тот же файл службы в / etc / systemd / system и запусту его с помощью sudo systemd start chatty.service, я получу следующий вывод при запуске sudo journalctl --unit chatty.service :
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
Jan 15 19:28:08 qbd-x230-suse.site echo[27098]: test from chatty.service
Кажется, что пользовательский сервисный модуль не так хорошо интегрирован, это ожидаемо, я что-то упустил или это ошибка?
Я использую openSUSE 13.1 x86-64, с systemd 208 (установка по умолчанию).
journalctl --user --user-unit chatty
чтобы получать эти сообщения запуска / остановки от systemd, но не то, что выводит эхо-процесс, по крайней мере, в моем случае. Вы можете получить отраженное сообщениеjournalctl --user
или использовать другой фильтр.