我编写了一个Python脚本,用于检查某个电子邮件地址并将新电子邮件传递给外部程序.如何让这个脚本全天候执行,例如将其转换为Linux中的守护程序或服务.我是否还需要一个永远不会在程序中结束的循环,或者可以通过多次执行代码来完成它?
我有简单的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
Run Code Online (Sandbox Code Playgroud)
node.py:
if __name__ == '__main__':
with daemon.DaemonContext():
check = Node()
check.run()
Run Code Online (Sandbox Code Playgroud)
run
包含while True
循环.
我尝试运行此服务systemctl start zebra-node.service
.不幸的是服务从未完成陈述序列 - 我必须按Ctrl + C. 脚本正在运行,但状态正在激活,一段时间后它将更改为停用状态.现在我正在使用python-daemon(但在没有它尝试之前,症状相似).
我应该为我的脚本实现一些额外的功能还是systemd文件不正确?
如何将 Python 脚本配置为在 Amazon AWS EC2 实例中作为服务运行(在系统重启时重新启动,在失败时重新启动)?