我有一个脚本( web侦听器),它可以自己运行,没有问题:
> /usr/bin/python3 /home/[user]/scripts/CrossPlatform/workflow_trigger.py 我已经有了一个运行良好的不同服务。因此,我以新名称/etc/systemd/system/my_workflow.service复制了该文件:
Description=My Service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/usr/bin/python3 /home/[user]/scripts/CrossPlatform/workflow_trigger.py
[Install]
WantedBy=multi-user.targetExecStart行是成功运行的命令的直接副本。
然后我运行:
systemctl daemon-reload
systemctl start my_service.service 它在没有消息的情况下运行。不幸的是:
systemctl status my_service.service 显示:
my_service.service - My Service
Loaded: loaded (/etc/systemd/system/my_service.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2020-07-01 10:57:35 CDT; 958ms ago
Process: 2722 ExecStart=/usr/bin/python3 /home/[user]/scripts/CrossPlatform/workflow_trigger.py (code=exited, status=1/FAILURE)
Main PID: 2722 (code=exited, status=1/FAILURE)操作系统为:
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"可能的解决方案是什么?非常感谢,Bogdan
发布于 2020-07-03 00:16:58
这似乎是一个访问问题。该服务被设置为在将数据(默认情况下)拖放到单个用户的文件夹时以User=root身份运行。将保存路径修复为更通用的目录或将用户更改为主文件夹的所有者可解决此问题。
发布于 2021-01-06 19:51:19
首先在服务之后移动ExecStart,并从服务中删除user=root。还在服务中提到了ExecStop。
Description=My Service
After=network.target
StartLimitIntervalSec=0
[Service]
ExecStart=/usr/bin/python3 /home/[user]/scripts/CrossPlatform/workflow_trigger.py
Type=simple
Restart=always
RestartSec=1
[Install]
WantedBy=multi-user.targethttps://stackoverflow.com/questions/62681373
复制相似问题