我有一个简单的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文件不正确?
daemon
的导入,并且不清楚Node
来自哪里),因此很难/不可能重现你的情况。 - Jan Vlcinsky