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

问题:

我写了一个Python脚本,检查某个电子邮件地址并将新的电子邮件传递给外部程序。我如何让这个脚本能够全天候执行,例如在Linux中将其转变为守护进程或服务。我还需要一个永远不会在程序中结束的循环,还是可以通过多次执行代码来完成?

回答:

你有两个选择。

  1. 制作适合的cron工作调用您的脚本。 Cron是GNU / Linux守护程序的通用名称,它会根据您设置的时间表定期启动脚本。您将脚本添加到crontab中或将符号链接放入特殊目录中,并且守护程序处理在后台启动它的作业。你可以在维基百科read more。有各种不同的cron守护进程,但是您的GNU / Linux系统应该已经安装了。
  2. 使用某种python方法(例如,一个库)来使脚本能够自己进行后台进程。是的,它将需要一个简单的事件循环(您的事件是定时器触发,可能由睡眠功能提供)。

我不建议你选择2.,因为你其实是重复cron的功能。 Linux系统范例是让多个简单的工具交互并解决您的问题。除非有额外的原因,您应该做一个守护进程(除了定期触发)之外,选择其他方法。
另外,如果您使用守护程序与循环并发生崩溃,则没有人会检查该邮件(正如Ivan Nevostruevthis答案的注释中指出的那样)。而如果脚本作为cron作业添加,那么它将只会再次触发。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to make a Python script run like a service or daemon in Linux

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 39 = 44