Am o aplicație care este un shell interactiv.Vreau ca această aplicație să ruleze ca serviciu. Pentru a putea accesa shell-ul în timp ce serviciul rulează, m-am gândit că este mai bine să pornesc serviciul ca o sesiune de ecran care lansează aplicația.
Dar asta creează o problemă. Jurnalul de service nu arată de fapt niciunul dintre rezultatele pe care le pot vedea în sesiunea de ecran.
Cum pot transmite rezultatul sesiunii de ecran în jurnalul de service?
[Unitate]
Descriere=Server CSGO
După=rețea.țintă
[Serviciu]
Tip = bifurcare
WorkingDirectory=/home/birger/csgo-server
ExecStartPre=-/usr/bin/screen -S ${SCREEN_TITLE} -X kill
ExecStart=/usr/bin/screen -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 chestii „ieșire^M”
Mediu=SCREEN_TITLE=csgo
RemainAfterExit=fals
Restart=intotdeauna
RestartSec=5s
SuccessExitStatus=1
[Instalare]
WantedBy=default.target
A început de
systemctl --user start csgo.service
Vizualizarea jurnalelor de către
journalctl -u csgo.service
Ieșire (este gol):
-- Înregistrările încep la sâmbătă, 22.02.2020, 14:17:45 CET, se termină la 16.08.2021, 15:06:35 CEST. --
-- Fără intrări --
Dar dacă mă atașez la ecran, pot vedea că există de fapt o mulțime de text, pur și simplu nu sunt afișate în jurnalul de service.