Я записал программу 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.
Что идет не так, как надо?
shutdown
команда требует поднятых полномочий.
Вообразите в пользовательской среде, которая система Linux, каждый зарегистрированный пользователь мог завершить работу или перезагрузить машину - это будет фатальным.
Так, в основном необходимо получить поднятые права.
На этот вопрос много раз отвечали. Вот хороший поток:
https://stackoverflow.com/questions/25215604/use-sudo-without-password-inside-a-script