2012-04-08 17 views
6

CasperJS görevlerini yöneten ve sonucu işleyen bir Python komut dosyasına sahibim. Bu komut satırından iyi çalışır, ancak ben cron komut dosyası çalıştırdığınızda, ben hata alıyorum:Python Subprocess sıfır olmayan çıkış durumunu yalnızca cron olarak döndürür

CalledProcessError: Command '['/path/to/casperjs', '/path/to/doSomething.js', 'args']' returned non-zero exit status 1 

Python, ben çağırır CasperJS: Ben shell=False ve Popen çalıştılar

response = subprocess.check_output(['/path/to/casperjs', '/path/to/doSomething.js', 'args'], shell=True) 

iyi, ama aynı sonucu elde ediyorum. Ayrıca tüm komutu bir dize (liste yerine) yapmaya çalıştım, ama bu da işe yaramadı.

Çalıştırma '/path/to/casperjs /path/to/doSomething.js args', kabukta çalışırken çıkış kodu 0'ı döndürür.

Ayrıca crontab'ım için PATH=/usr/bin:/bin:/sbin:/usr/local/bin ekledim. (this question'da önerildiği gibi.)

Neden bu hatayı yalnızca bu hatayı cron'a alıyorum? Teşekkürler!!

DÜZENLEME: shell=False ve stderr=subprocess.STDOUT yapılan şey çalışmak ... ayarı aşağıda cevabını uyarınca,

cevap

8
Program tam olarak neden dışarı bulabilmesi Stdout'a ilaveten stderr'yi yakalamak için çalışmalısınız

başarısız bunun için ekleyeceksiniz

cmd = ['/path/to/casperjs', '/path/to/doSomething.js', 'args'] 
response = subprocess.check_output(cmd, 
       shell=True, 
       stderr=subprocess.STDOUT) 
+1

(gerçekten sizin için bazı hatalar yazdırmak gelmez varsayarak) ben cron/yöneticisi/sonradan görme altında elle ancak çalıştırmak "Bu komut işleri için en yaygın nedeni/.. "bir ortam değişkeni - her zaman değil PATH - farklı veya missin g. – mattbornski

+1

Evet, tüm ortam değişkenlerini kontrol ettim, ancak 'shell = False 'ayarlandı ve' stderr = subprocess.STDOUT' eklendi ve şimdi her şey büyülü çalışıyor mu? – arboc7

+0

@mattbornski: Kabul ediyorum. Ya bu, ya da belki de süreç, crontab'ın ayarlandığı kullanıcı tarafından çalışmakta zorlanıyor. Çok fazla spekülasyon yapmak istemedim, ama gerçek hatanın ne olabileceğini bulmaya çalışıyorum. – jdi

İlgili konular