Web 服务器上的 cron 作业

Web 服务器上的 cron 作业

我该如何告诉我的 Web 服务器 (Webfaction) 只运行一个 Python 文件并让它一直运行下去?有人告诉我应该使用它,cron但我还没有找到任何关于如何运行一次并让它不停止的好材料。

答案1

你需要做的是:

nohup./你的脚本路径.sh&

一旦你这样做,你可以注销,关闭终端,无论什么,你的脚本将继续运行,直到服务器重新启动或你终止该进程

答案2

据我了解,您希望在关闭 ssh 后保持进程继续运行。您可以使用screen

答案3

最简单的方法是使用 nohup 之类的东西使该进程成为守护进程:

http://www.cyberciti.biz/tips/nohup-execute-commands-after-you-exit-from-a-shell-prompt.html

答案4

在屏幕上运行测试是可以的,但在某些时候它会因为一个或另一个原因而中断(当你使用太多内存时,WebFaction 确实喜欢终止进程)如果那时你需要自动重新启动它。

督导员(http://supervisord.org/) 非常适合运行程序并在程序因某种原因失败时重新启动它们。它还可以处理“守护进程”,也就是当您从当前终端分离进程时,它会在您退出 SSH 后继续运行,您可以在 Python 脚本中编写代码来自己执行此操作,但既然有 Supervisord 这样的出色工具,为什么还要费心呢?

当然,Supervisord 总是有可能死掉(或被杀死)。这时你就可以使用 Cron 了。Cron 可以让你定期运行某些任务。Supervisord 通常设置方式的一个优点是,如果你在它已经运行时尝试启动它,它实际上不会再次启动,所以如果你设置一个 Cron 任务每 5 分钟启动一次 Supervisord,那么你应该没问题。

相关内容