我试图通过使用以下参数创建systemd服务在启动时自动运行python脚本:
[Unit]
Description=python_autostart
After=multi-user.target
[Service]
Type=simple
User=root
WorkingDirectory=/path/to/my/python/script/
ExecStart=/usr/bin/python main.py
[Install]
WantedBy=multi-user.target
当我重新启动systemd服务脚本(sudo systemctl restart python_autostart)时,出现以下错误:
python_autostart.service - python auto start service
Loaded: loaded(/etc/systemd/system/python_autostart.service; enabled; vendor preset: enabled)
Active: failed(Result: exit-code) since Thu 2019-07-18 08:36:28 WIB, 2s ago
Process: 6710 ExecStart=/usr/bin/python main.py (code=exited, status=1/FAILURE)
Main PID: 6710 (code=exited, status=1/FAILURE)
<timestamp> user systemd[1]: Started python_autostart service.
<timestamp> user python[6710]: Traceback (most recent call last):
<timestamp> user python[6710]: File "main.py", line 10, in <module>
<timestamp> user python[6710]: import psutil
<timestamp> user python[6710]: ImportError: No module named psutil
<timestamp> user python[6710]: python_autostart.service: Main process exited, code=exited, status=1/FAILURE
<timestamp> user python[6710]: python_autostart.service: Failed with result 'exit-code'.
当我以root权限在目录中执行python main.py时,它工作正常,但是当我使用systemd服务运行此python脚本时,会发生上述错误。我已经安装了python模块psutil(否则我无法手动运行)
感谢任何建议/评论。
谢谢!