一連のCasperJSタスクを管理し、結果を処理する Python スクリプトがあります。コマンドラインからは問題なく実行できますが、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
たが、同じ結果が得られます。また、コマンド全体を (リストではなく) 文字列にしようとしましたが、それも役に立ちませんでした。
シェルで実行すると、 Running'/path/to/casperjs /path/to/doSomething.js args'
は終了コード 0 を返します。
PATH=/usr/bin:/bin:/sbin:/usr/local/bin
crontab にも追加しましたが、役に立ちませんでした。(この質問で示唆されているように。)
cronでのみこのエラーが発生する理由はありますか? ありがとう!!
編集:以下の回答に従って、設定shell=False
しstderr=subprocess.STDOUT
てすべてを機能させました...