我正在尝试使用 systemd 服务的参数运行 python 文件。因此服务文件应该接受参数并将其传递给“Execstart”中的python 文件。
这是我的系统文件:
[Unit]
Description=test Service On %I
After=multi-user.target
[Service]
WorkingDirectory=/home/user_name/directory
User=user_name
Type=idle
ExecStart=/usr/bin/python3 /home/user_name/directory/test.py %I
Restart=no
[Install]
WantedBy=multi-user.target
测试.py:
import sys
print("arguments: "+str(sys.argv))
我尝试使用以下命令:
sudo systemctl start $(systemd-escape --template [email protected] "arg1")
还,
sudo systemctl start [email protected]
我收到错误:单位[电子邮件受保护]未找到
答案1
您需要根据您需要的参数来命名服务文件:
- 不是
/etc/systemd/system/test.service
- 但
/etc/systemd/system/[email protected]