运行 Python 以 root 身份启动时的脚本
Run Python script on startup as root
我写了一个 python 程序,我想在启动时执行,但它必须以 root 身份执行,我不知道如何。
我需要做些什么来实现这一目标?我应该把文件放在哪里(脚本在一个包含必要 python 包的文件夹中)以便它 运行 启动时?
我如何 运行 root 文件?是将python文件夹放到某个目录下,还是使用其他脚本执行python脚本,还是其他方式,请大家分享解决方法!
我是在 Raspberry Pi 上做的,所以 OS 是 Linux。
最简单的方法是 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
。
我写了一个 python 程序,我想在启动时执行,但它必须以 root 身份执行,我不知道如何。 我需要做些什么来实现这一目标?我应该把文件放在哪里(脚本在一个包含必要 python 包的文件夹中)以便它 运行 启动时? 我如何 运行 root 文件?是将python文件夹放到某个目录下,还是使用其他脚本执行python脚本,还是其他方式,请大家分享解决方法! 我是在 Raspberry Pi 上做的,所以 OS 是 Linux。
最简单的方法是 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
。