вывод службы systemd на терминал / pty

Я не могу понять, какую опцию передать в StandardOutput = для unit файл ( .service ), где я хочу показать некоторые сообщения на подключенном терминале откуда запускается сервис! ( console / tty , похоже, не то, что я хочу)

Возможно /etc/systemd/system.conf глобальное значение по умолчанию DefaultStandardOutput = journal можно изменить, но я не хочу этого делать! Меня интересует только отображение некоторых сообщений о прогрессе / запуске из моего файла модуля (например, systemd-run -P )

Я использую Ubuntu 18.04.2

# systemd --version
systemd 237
0
задан 19 August 2019 в 12:34

2 ответа

Вы можете взглянуть на https://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=

Если я правильно понял вопрос, вы хотите, чтобы статус вывода службы был на tty / консоль? Помните, что при запуске службы systemd позаботится о дескрипторах файлов по умолчанию.

Вы можете использовать файл, чтобы сохранить статус и запросить его там.

1
ответ дан 3 March 2020 в 10:10

Отредактируйте сценарий, который вы хотите запустить, с помощью systemd, и добавьте | logger для команды, из которой вы хотите выводить в системный журнал:

#!/bin/bash
/usr/bin/ps aux | /usr/bin/grep gnome > /home/user/test/psoutput.txt
/usr/bin/date | logger
echo "This is terminal output" | logger
/usr/bin/date >> /home/user/test/psoutput.txt

Вывод $ sudo journalctl -u pstofile -f :

бер 09 13:33:42 lenovo systemd[1]: Started ps aux to file.
бер 09 13:33:42 lenovo root[8491]: понеділок, 9 березня 2020 13:33:42 +0200
бер 09 13:33:42 lenovo root[8493]: This is terminal output
бер 09 13:33:42 lenovo systemd[1]: pstofile.service: Succeeded.

Мой служебный файл systemd содержит следующее:

[Unit]
Description=ps aux to file
After=systemd-user-sessions.service

[Service]
Type=simple
Restart=always
RestartSec=5
ExecStart=/home/user/test/pstofile.sh
StandardInput=journal+console
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target
0
ответ дан 3 March 2020 в 13:12

Другие вопросы по тегам:

Похожие вопросы: