Ошибка перезагрузки ОС через программу Python, которая работает через службы

Я написал программу на Python для перезапуска сервера, работающего на Ubuntu 18.04, используя: os.system("shutdown -r -t 1"),

Когда служба загружена, ОС программы не перезапускается, но при независимом запуске программы она работает нормально.

Журнал сервиса показывает:

Nov 18 12:51:51 jetson-desktop python3[13004]: Failed to set wall message, ignoring: Interactive authentication required.
Nov 18 12:51:51 jetson-desktop python3[13004]: Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Interactive authentication required.
Nov 18 12:52:44 jetson-desktop python3[13004]: Failed to set wall message, ignoring: Interactive authentication required.
Nov 18 12:52:44 jetson-desktop python3[13004]: Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Interactive authentication required.

Что происходит не так?

1 ответ

shutdown Команда требует повышенных привилегий.

Представьте себе, что в многопользовательской среде, которой является система Linux, каждый вошедший в систему пользователь может выключить или перезагрузить компьютер - это будет фатальным.

Итак, в основном вам нужно получить повышенные привилегии.

На этот вопрос отвечали много раз. Вот хорошая тема:

https://stackoverflow.com/questions/25215604/use-sudo-without-password-inside-a-script

Другие вопросы по тегам