我有一个python脚本,我想在以root身份启动时运行。我相信我需要将其添加为服务文件,但我不知道它是否具有root权限。这就是我的服务文件。除非在root中,否则python文件不会运行。
$(document).ready(function () {
$("#txtuname").keypress(function (e) {
var validExp = /^[0-9a-z]+$/gi;
if (validExp.test(e.key)) {
$("#errmsg").html("");
return true;
}
else {
$("#errmsg").html("Number and letters Only");
return false;
}
});
});
任何帮助将不胜感激。
答案 0 :(得分:1)
让它发挥作用。从我的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
我仍然不明白为什么我需要取出根检查,程序在我使用sudo python script.py
时运行正常。由于某些原因,当使用systemctl运行脚本时,它将无法通过根检查。
答案 1 :(得分:0)
Systemd以root身份运行多用户服务,所以我不知道你需要什么帮助。