【问题标题】:Python problem executing popen in cron在 cron 中执行 popen 的 Python 问题
【发布时间】:2010-12-08 20:07:21
【问题描述】:

我使用popen 在 Python 脚本中执行命令,并通过 cron 调用它。
Cron 调用了这个脚本,但如果我手动调用它,行为就不一样了。

来源:

from subprocess import Popen, PIPE

pp = Popen('/usr/bin/which iptables', shell=True, stdout=PIPE)

data = ''
for ln in pp.stdout:
    data = data+ln

if data == '':
    print 'ko'
else:
    print 'ok : '+data

手工:​​3>
# python /home/user/test.py
> : /sbin/iptables

通过 cron(在 /tmp/err_cron 中):

* * * * * /usr/bin/python /home/user/test.py >> /tmp/err_cron
ko
ko
ko

为什么cron不能正常运行这个脚本?

【问题讨论】:

    标签: python console cron


    【解决方案1】:

    通常,当进程从 cron 运行时,PATH 设置为非常严格的值(我的 crontab 的手册页显示为 /usr/bin:/bin)。您可能需要添加:

    PATH=/usr/bin:/bin:/sbin

    到您的 crontab 文件的顶部。

    【讨论】:

      猜你喜欢
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多