【发布时间】: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
# python /home/user/test.py
> : /sbin/iptables
* * * * * /usr/bin/python /home/user/test.py >> /tmp/err_cron
ko
ko
ko
为什么cron不能正常运行这个脚本?
【问题讨论】: