【问题标题】:Run Python script on startup as root以 root 身份在启动时运行 Python 脚本
【发布时间】:2021-02-26 11:02:41
【问题描述】:

我写了一个python程序,我想在启动时执行,但它必须以root身份执行,我不知道如何。 我需要做些什么来实现这一目标?我应该将文件放在哪里(脚本位于包含必要 python 包的文件夹中)以便它在启动时运行? 如何以 root 身份运行文件?不管是把python文件夹放到某个目录下,用别的脚本执行python脚本,还是别的方式,请大家分享一下你的解决方案! 我是在树莓派上做的,所以操作系统是 Linux。

【问题讨论】:

标签: python raspberry-pi root boot


【解决方案1】:

最简单的方法是create a systemd service,可能看起来像:

[Unit]
Description=Some python script
After=network.target

[Service]
ExecStart=/usr/bin/python3 script.py
WorkingDirectory=/path/to/scriptdir
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root

[Install]
WantedBy=multi-user.target

您应该将它保存在/etc/systemd/system/servicename.service 中,其中servicename 可以是任何东西,然后将其设置为使用sudo systemctl enable servicename.service 在启动时运行。

【讨论】:

  • 感谢 Applet123 的回答。虽然它在启动时运行,但我认为它仍然不能以 root 身份运行。如何做到这一点?
  • 是什么让你这么想? Systemd 应该以 root 身份运行它。
猜你喜欢
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-04
  • 2013-08-10
  • 2023-03-16
  • 2014-05-21
相关资源
最近更新 更多