LINUX.ORG.RU
ФорумAdmin

Подскажите, как отобразить работу скрипта запущенного через systemctl?

 ,


0

1

Все привет

Моя система Ubuntu 18.04

У меня есть скрпт написанный на Python


while True:
      print("Привет мир")

Я добавил этот скрипт в service, что бы он запускался вместе с os

Если я выполняю в консоле

sudo systemctl status my-script.service 

то все отлично, и я вижу что мой скрипт работает

Но иногда мне хочеться посмотреть в консоле на цикл скрипта и убедиться что он выводит именно print(«Привет мир») Подскажите какя команда для это преднозначенна?

Спасибо

P/S поднимал данную тему на форуме ubuntu, но там пока что тишина =(



Последнее исправление: rofl (всего исправлений: 1)

Грубо говоря, пиши в пайп, периодически подключайся к нему и читай, что туда пишется.

aol ★★★★★
()

Если у тебя включен и правильно настроен journald, то ты можешь подключиться к логу этого сервиса:

journalctl --follow --unit my-script.service

(или, кратко, journalctl -f -u my-script)

intelfx ★★★★★
()
Ответ на: комментарий от aol

Вредные советы. Если у ТСа systemctl status уже показывает вывод сервиса — то достаточно просто подключиться к журналу, незачем городить пайпы и прочие велосипеды.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

а, ну, да.. что-то я прочитал «systemd», а подумал «надо к демону подключаться» - отсюда и вредные советы ;)

aol ★★★★★
()

sudo systemctl status my-script.service

Должно само показывать вывод, если ты не перенастраивал что-то в systemd. Я сталкивался с буферизацией вывода в python, чтобы не было этого нужно запускать скрипт в юните через python -u

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 2)

исчо есть красивое перенаправление стдоут в консольку.

StandardOutput=
Controls where file descriptor 1 (STDOUT) of the executed processes is connected to. Takes one of inherit, null, tty, journal, kmsg, journal+console, kmsg+console, file:path, append:path, socket or fd:name.

tty connects standard output to a tty (as configured via TTYPath=, see below). If the TTY is used for output only, the executed process will not become the controlling process of the terminal, and will not fail or wait for other processes to release the terminal.

баловался. стоит монитор на видном месте и какие-то строчки непонятные по нему бегают. несведущих весьма завораживает.

pfg ★★★★★
()
4 января 2020 г.

journalctl | grep my-script.service #полный лог

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.