我有简单的Python脚本,可以作为守护进程使用.我正在尝试创建systemd脚本,以便能够在启动期间启动此脚本.
当前的systemd脚本:
[Unit]
Description=Text
After=syslog.target
[Service]
Type=forking
User=node
Group=node
WorkingDirectory=/home/node/Node/
PIDFile=/var/run/zebra.pid
ExecStart=/home/node/Node/node.py
[Install]
WantedBy=multi-user.target
node.py:
if __name__ == '__main__':
    with daemon.DaemonContext():
        check = Node()
        check.run()
run包含while True循环.
我尝试运行此服务systemctl start zebra-node.service.不幸的是服务从未完成陈述序列 - 我必须按Ctrl + C. 脚本正在运行,但状态正在激活,一段时间后它将更改为停用状态.现在我正在使用python-daemon(但在没有它尝试之前,症状相似).
我应该为我的脚本实现一些额外的功能还是systemd文件不正确?
systemd服务Type oneshot和有simple什么区别?此链接表示使用simple而不是oneshot计时器.我无法正确理解它.