【发布时间】:2012-04-21 10:04:10
【问题描述】:
我有一个 Python 脚本,用于管理一系列 CasperJS 任务并处理结果。它从命令行运行良好,但是当我在 cron 中运行脚本时,出现错误:
CalledProcessError: Command '['/path/to/casperjs', '/path/to/doSomething.js', 'args']' returned non-zero exit status 1
在 Python 中,我调用 CasperJS:
response = subprocess.check_output(['/path/to/casperjs', '/path/to/doSomething.js', 'args'], shell=True)
我也尝试过shell=False 和Popen,但我得到了相同的结果。我还尝试将整个命令设为字符串(而不是列表),但这也无济于事。
运行 '/path/to/casperjs /path/to/doSomething.js args' 在 shell 中运行时返回退出代码 0。
我还在我的 crontab 中添加了 PATH=/usr/bin:/bin:/sbin:/usr/local/bin,但无济于事。 (正如this question 中所建议的那样。)
任何想法为什么我只在 cron 中收到此错误?谢谢!!
编辑:根据下面的答案,设置shell=False 和stderr=subprocess.STDOUT 使一切正常...
【问题讨论】:
标签: python subprocess crontab casperjs