我有一个作为守护进程的简单 Python 脚本。我正在尝试创建 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
Py:
if __name__ == '__main__':
with daemon.DaemonContext():
check = Node()
check.run()
run
包含 while True
循环。
我尝试用 systemctl start zebra-node.service
运行这个服务。不幸的是,服务没有完成陈述顺序-我必须按 Ctrl + C。
脚本正在运行,但状态正在激活,过了一会儿就会变为不激活。
现在我正在使用 python-daemon (但是在我尝试不使用它之前,症状是相似的)。
我应该在脚本中实现一些额外的特性,还是 Systemd 文件不正确?