LINUX.ORG.RU

systemd -> python3-loop

 ,


0

1

Всем привет!

Имеется питоновый скрипт (в нем много чего но сузил до минимума что бы обозначить проблему)

#!/usr/bin/python3

import time

print("HelloWorld")

if __name__ == '__main__':
	print("-main-")
	while True:
		print("-loop-")
		time.sleep(5)

При запуске скрипта вручную, все хорошо - цикл крутится, мессаги сыпятся.

При запуске из systemd нет даже «HelloWorld». Стоит из скрипта убрать «while True:» как скрипт начинает нормально запускаться из systemd

В systemd скрипт запускается через

User=root
ExecStart=python3 <путь>/my.py

Это что то нитак с py (теоретически в нем может быть много всего вплоть до работы с железом и тд, не хотелось бы его менять) ? Или в systemd такого рода скрипт нужно по-другому запускать?



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

Чтобы запостить пример исходного кода, внимательно посмотри, что написано под формой в браузере, в которую ты пишешь: если там написано «Внимание: прочитайте описание разметки …», то внезапно было бы неплохо пойти по ссылке, которая там указана с описанием разметки принятой на форуме.

Делал это?:

sudo systemctl daemon-reload
sudo systemctl restart supapupascript

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

да, конечно

судя по systemctl status мой скрипт запущен, однако ни одного сообщения из print нет. (даже HelloWorld). после удаления

	while True:
		print("-loop-")
		time.sleep(5)

скрипт запускается и все print’ы видно в логе systemctl status

k000858
() автор топика
Ответ на: комментарий от k000858

Вывод systemctl status

● (<имя моего сервиса>).service - <имя моего сервиса>
     Loaded: loaded (/etc/systemd/system/<имя моего сервиса>.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-04-05 14:20:07 +05; 6s ago
   Main PID: 1084 (python3)
      Tasks: 1 (limit: 8695)
        CPU: 92ms
     CGroup: /system.slice/<имя моего сервиса>.service
             └─1084 python3 /home/<dir>/my.py

Apr 05 14:20:07 <host> systemd[1]: Started <имя моего сервиса>.
k000858
() автор топика