Несоответствующий вывод stderr между shell и systemd - PullRequest
0 голосов
/ 13 февраля 2019

У меня при запуске работает небольшой скрипт:

Сначала я использовал crontab с тегом @ reboot , но, поскольку мне нужно изменить скрипт, я в итоге оказалсяглядя на systemd для простого перезапуска скрипта


моя конфигурация crontab была:

@reboot sleep 10; cd /path/to/the/script/ && nohup ./script.py >> stdout.txt 2>> stderr.txt

и все работало нормально


Ятеперь используя systemd с этим конфигом:

[Unit]
Description=Script

[Service]
WorkingDirectory=/path/to/the/script/
ExecStart=/path/to/the/script/script.py
StandardOutput=file:/path/to/the/script/stdout.txt
StandardError=file:/path/to/the/script/stderr.txt     <----- Problem here
User=my_user

[Install]
WantedBy=graphical.target

проблема в том, что:

  • до того, как stderr был корректно записан в stderr.txt
  • теперь и stdout, и stderr записываются в stdout.txt, даже если я указал другой файл для stderr

Также нет ошибок при просмотре

journalctl -e -u python-coolosseo

Кстати, я пробовал оба файла: и добавить:

...