gpt4 book ai didi

python - 为 python 脚本创建启动服务以在 Arch Linux 中以 root 身份运行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:01 25 4
gpt4 key购买 nike

我有一个 python 脚本,我想在以 root 身份启动时运行它。我相信我需要将它添加为服务文件,但我不知道它是否具有 root 权限。这就是我的服务文件。除非在 root 中,否则 python 文件不会运行。

[Unit]
Description= Description here

[Service]
Type=simple
ExecStart=/usr/bin/python /home/script.py
StandardOutput=null

[Install]
WantedBy=multi-user.target
Alias=script.service

我们将不胜感激。

最佳答案

开始工作了。从 python 脚本中删除根检查后,一切正常,我还从服务文件中删除了 Type=simple 部分。在这两件事之后它工作正常。

我删除的根检查部分是。

from os import getenv
user = getenv("SUDO_USER")
if user is None:
print ("This program needs to run as root")
exit(0)

服务文件现在看起来像这样

[Unit]
Description= Description here

[Service]
ExecStart=/usr/bin/python /home/script.py
StandardOutput=null

[Install]
WantedBy=multi-user.target
Alias=script.service

我还是不明白为什么要去掉root check,用sudo python script.py程序运行正常。由于某些原因,当使用 systemctl 运行脚本时,它会导致根检查失败。

关于python - 为 python 脚本创建启动服务以在 Arch Linux 中以 root 身份运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39422298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com