无法通过服务运行的 Python 程序重新启动操作系统

无法通过服务运行的 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

相关内容