我编写了一个 Python 脚本来检查某个电子邮件地址并将新电子邮件传递给外部程序。我怎样才能让这个脚本 24/7 执行,例如在 Linux 中把它变成守护进程或服务。我是否还需要一个在程序中永不结束的循环,还是可以通过多次重新执行代码来完成?
最佳答案
这里有两个选择。
制作一个适当的 cron 作业 来调用您的脚本。 Cron 是 GNU/Linux 守护程序的通用名称,它根据您设置的计划定期启动脚本。您将脚本添加到 crontab 中或将符号链接(symbolic link)放置到特殊目录中,守护程序会处理在后台启动它的工作。您可以read more在维基百科。有多种不同的 cron 守护程序,但您的 GNU/Linux 系统应该已经安装了它。
使用某种 python 方法(例如,一个库)让您的脚本能够自行守护进程。是的,它需要一个简单的事件循环(您的事件是定时器触发,可能由 sleep 函数提供)。
我不建议您选择 2.,因为实际上您会重复 cron 功能。 Linux 系统范式是让多个简单的工具交互并解决您的问题。除非有其他原因需要您制作守护程序(除了定期触发),否则请选择其他方法。
另外,如果你使用 daemonize 和一个循环并且发生了崩溃,那么之后没有人会检查邮件(正如 Ivan Nevostruev 在对 this 答案的评论中指出的那样)。而如果脚本作为 cron 作业添加,它只会再次触发。
https://stackoverflow.com/questions/1603109/
相关文章:
python - 如何在 Python 3.x 和 Python 2.x 中使用 pip
python - Django Admin - 更改标题 'Django administratio
python - 是否可以在列表理解中使用 'else' ?
linux - 在远程 Linux 机器上编译 C++ - "clock skew detected
python - 何时使用 Tornado,何时使用 Twisted/Cyclone/GEvent/
linux - 如何在 Linux 上将所有文件夹和文件重命名为小写?