操作系统:Ubuntu 20.04.6 LTS
我创建了一个执行 python 脚本的服务检查器.py问题是这个服务不能以 root 权限执行 python 脚本,尽管锡尔杰用户具有root权限,而且可以执行sirjay $ sudo python checker.py
工作。
我是怎么弄明白的?此 Python 脚本在通过服务执行时不会重新启动并重启系统(而是直接sirjay $ sudo python checker.py
重新启动并重启):
import os
os.system("sudo systemctl restart other-task")
os.system("sudo reboot")
服务:
[Unit]
Description=checker.py service
After=network.target
[Service]
User=sirjay
# User=root. <-- does not work also
# Group=www-data
WorkingDirectory=/home/dir
Environment=PYTHONUNBUFFERED=1
Environment="PATH=/home/sirjay/miniconda3/envs/myenv/bin"
ExecStart=/home/dir checker.py
StandardOutput=file:/home/dir/service_checker_output.log
StandardError=file:/home/dir/service_checker_error.log
[Install]
WantedBy=multi-user.target
我在 service_checker_error.log 中没有看到任何错误。有什么想法吗?
答案1
回答:os.system("/usr/bin/sudo /sbin/reboot")