不断运行python脚本

时间:2015-08-07 07:13:47

标签: php python cgi

我有一个python脚本,当网站上的内容发生变化时会通知我。如何将它放在服务器上以便全天候检查而不必让我的笔记本电脑保持打开状态?任何教程或文档都会很好。

我一直在寻找各种方法,但实际上找不到多少。我看到php可以用来做它,但我不确定这是不是最好的方式。

2 个答案:

答案 0 :(得分:1)

您需要设置一个cron作业。 "的Cron"是一个基于时间的作业调度程序。

前:

11 2 * * * /path/to/bin/python /path/to/cronjobs/sent_text.py

这个Cron每小时运行一次

这是Cron Job Tutorial

答案 1 :(得分:0)

您需要将python脚本作为守护程序运行。这是从控制终端分离。您可以轻松地将其包装在shell脚本中,如下所示。

#!/usr/bin/env bash

script_file=$(readlink -f "$0")  #absolute path to this file
python_file=$(readlink -f "$1")  #absolute path to the python script
output_file=$([[ "$2" == "" ]] && echo "/dev/null" || readlink -f "$2")  #absolute path to the output file

(
    exec 0>&- 0>/dev/null #close and redirect stdin
    exec 1>&- 1>>"${output_file}" #close and redirect stdout
    exec 2>&- 2>>"${output_file}" #close and redirect stderr
    python "$python_file" 
    "$script_file" "$python_file" "$output_file"
) &

将此脚本保存为script.sh并授予其可执行权限,即chmod +x script.sh现在执行script.sh <python script> <output file>将启动带有stdout的python脚本,并将stderr重定向到给定的输出文件。如果它终止,它也会重启python脚本。