Я запускал службу (скрипт Python с использованием библиотеки twistd) как пользователь без полномочий root, который остается в фоновом режиме. Я заметил, что он вылетает в случайные моменты, и я хочу понять, почему. Насколько мне известно, он сам по себе не использует какой-либо конкретный файл журнала, поэтому не могли бы вы сказать мне, где я могу получить дополнительную информацию о том, что происходит? Либо файл журнала программы / приложения / событий, либо файл, связанный с Python?
Если сценарий сам по себе не ведет журнал, это можно сделать, перенаправив стандартный вывод и сообщение об ошибке в известный файл при запуске. В bash используйте
script.py > /var/log/script.log 2>&1
В nohup
служебная программа или встроенная оболочка также могут помочь.
Я считаю полезным всегда включать функцию ведения журнала (через Python logging
модуль) в верхней части моих скриптов.
Вот это официальный документ по ведению журнала Python.
Вот являются хорошими примерами для различных типов ведения журнала.
Я подозреваю, что где-то происходит сбой из-за неперехваченного исключения. Попробуйте перехватить и зарегистрировать исключения на самом высоком уровне сценария, на котором это возможно. Это может дать вам некоторые подсказки.