У меня есть приложение, представляющее собой интерактивную оболочку.Я хочу, чтобы это приложение работало как служба. Чтобы иметь доступ к оболочке во время работы службы, я решил, что лучше всего запустить службу как сеанс экрана, который запускает приложение.
Но это создает проблему. Журнал обслуживания на самом деле не показывает никаких выходных данных, которые я вижу в сеансе экрана.
Как я могу передать вывод сеанса экрана в журнал службы?
[Ед. изм]
Описание=CSGO-сервер
После=network.target
[Оказание услуг]
Тип = разветвление
WorkingDirectory=/home/birger/csgo-сервер
ExecStartPre=-/usr/bin/screen -S ${SCREEN_TITLE} -X убить
ExecStart=/usr/bin/экран -dmS ${SCREEN_TITLE} -O -l /usr/bin/bash\
-c /home/birger/csgo-server/update-and-start
ExecStop=/usr/bin/screen -S ${SCREEN_TITLE} -p 0 -X материал "выход^M"
Среда=SCREEN_TITLE=csgo
RemainAfterExit=false
Перезапустить = всегда
Рестартсек=5с
УспехВыходСтатус=1
[Установить]
WantedBy=default.target
Начато
systemctl --user запускает csgo.service
Просмотр журналов по
журналctl -u csgo.service
Вывод (пусто):
-- Журналы начинаются в сб 22 февраля 2020 г., 14:17:45 по центральноевропейскому времени, заканчиваются в пн, 16 августа 2021 г., 15:06:35 по центральноевропейскому времени. --
-- Нет записей --
Но если я прикреплю к экрану, я увижу, что на самом деле там много текста, просто не отображаемого в журнале службы.