如何使Python脚本像Linux中的服务或守护程序一样运行

adhanlon:

我已经编写了一个Python脚本,该脚本检查特定的电子邮件地址并将新的电子邮件传递给外部程序。如何获得此脚本以执行24/7,例如在Linux中将其转换为守护程序或服务。我是否还需要一个永无休止的循环,还是仅需多次重新执行代码就可以完成?

P切碎:

您在这里有两个选择。

  1. 进行适当的cron作业以调用您的脚本。Cron是GNU / Linux守护程序的通用名称,该守护程序会根据您设置的时间表定期启动脚本。您将脚本添加到crontab中,或将其符号链接放置到特殊目录中,守护程序将在后台处理启动它的工作。您可以在Wikipedia上阅读更多内容。有各种不同的cron守护程序,但是您的GNU / Linux系统应该已经安装了它。

  2. 对脚本使用某种python方法(例如,一个库),使其能够守护自己。是的,这将需要一个简单的事件循环(您的事件可能是计时器触发的,可能由睡眠功能提供)。

我不建议您选择2.,因为实际上您将重复cron功能。Linux系统范例是让多个简单的工具交互并解决您的问题。除非有其他原因(除了定期触发)之外,您还应创建守护程序,否则请选择其他方法。

另外,如果将daemonize与循环一起使用并且发生崩溃,此后没有人会检查邮件(如Ivan Nevostruev对此答案的评论中指出的)。如果将脚本添加为cron作业,它将再次触发。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为Shell脚本创建服务,以便可以像守护程序一样启动和停止它?

与 psutil 一样,如何在 linux 中列出守护程序(服务)进程?

像守护程序一样运行solr

如何使ProcessPoolExecutor中的任务像守护进程一样运行?

像System V一样在引导时运行Systemd守护程序

如何像应用程序一样运行网页?

如何在Symfony应用程序中像后台任务一样运行命令?

如何像Couchperuser一样安装CouchDB插件/守护程序

如何使Firefox像铬一样在背景中运行?

使用pip安装的脚本:像命令一样运行

python程序如何像从单独的SSH终端运行程序一样运行另一个python程序?

iOS:保持应用像服务一样运行

如何像启动时一样运行脚本?

如何像简单的脚本一样以编程方式运行刮scrap的蜘蛛?

Python脚本作为Linux服务/守护程序

从终端像命令一样运行C ++程序

如何像运行cron一样运行命令

如何将python脚本加载到内存中并像执行命令行一样执行它?

如何创建新脚本,像wc一样的角色

如何像bash脚本一样发财

如何像Python一样在Google Apps脚本中切片字符串?

如何让 Emacs Projectile 像 VScode 的“Cp”一样运行?

如何像常规 shell 命令一样在命令行中运行 GHCi

在 mvc 应用程序中,如何像通知一样一一显示消息?

如何像Linux一样在Windows中拆分文件

如何像docker一样在linux中创建未命名的网络命名空间?

如何在不暴露URL中的virtualdir的情况下运行asp.net应用程序。像stackoverflow.com一样吗?

如何像网页一样创建本机脚本应用程序的链接?听他们的吗?

Preact.js - 如何像 React.js 一样启动自动重新运行服务器