【问题标题】:Is there a way to determine if a python script was started by Cron? [duplicate]有没有办法确定 Cron 是否启动了 python 脚本? [复制]
【发布时间】:2011-07-07 02:10:46
【问题描述】:

可能重复:
How can I determine if a python script is executed from crontab?

有没有办法确定python脚本是否由cron启动?

【问题讨论】:

    标签: python cron


    【解决方案1】:

    本身不是,但您可以在 crontab 中设置一个环境变量并在脚本中检查它。

    * * * * * CRONRUN=y /srv/cron/foo.py
    

    ...

    if 'CRONRUN' in os.environ:
       ...
    

    【讨论】:

    • 或者传递一个额外的命令行参数。
    • 不,Ignacio 的答案正是我想要的。我不知道你可以在某些东西前面临时设置一个环境变量。
    • 如果您运行man 5 crontab,对于 Ubuntu/Debian,您也可以定义全局环境值(所有 crons)。
    • 检查(未运行)man 5 crontab
    【解决方案2】:

    在不知道你的脚本做什么的情况下,我可以提供一些建议。

    如果脚本运行然后终止,让脚本在日志文件中记录其开始和结束时间。

    如果脚本是一个进程,或者作为守护进程运行,并且您正在使用 cron 在重新启动时启动脚本(取决于您使用的 cron 守护进程),您可以使用程序 ps 查看当前进程。

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2020-08-06
      • 2011-12-06
      • 1970-01-01
      相关资源
      最近更新 更多