2014-11-13 2 views
0

Я пытаюсь запустить unoconv преобразовать набор документов в папке, как так:питон подпроцесс работает unoconv метания CalledProcessError код выхода 8

import subprocess 
try: 
    subprocess.check_call(['unoconv', "/home/foo/ve/pdf/pdf/pdf_media/" + <filename parameter>) 
except subprocess.CalledProcessError as e: 
    print "conversion error: ", e 

Теперь я бегу выше код в целях Джанго - и он работает, как ожидает, что все время, т.е. преобразует документ в формате PDF, но, иногда, приведенный выше код бросает мне следующее исключение:

Command '['unoconv', u'/home/foo/ve/pdf/pdf/pdf_media/WgYozM7.doc']' returned non-zero exit status -8 

Однако, когда я иду в папку, я вижу, что преобразование произошло и PDF создается, как ожидалось.

Я не понимаю, что означает этот код выхода (я искал документы unoconv, но не смог найти код выхода 8).

ответ

0

Мне кажется, что ваш подпроцесс имеет отрицательный код выхода. Это не код приложения, но вызванный тем, что ОС завершает вашу программу. Отрицательное число - это номер сигнала, полученный процессом. На моем mac -8 стоит SIGFPE.

+0

Я нахожусь в linux box (debian wheezy) .. Я пытаюсь выяснить, что означает -8 для этого i.e отрицательного статуса выхода в Linux, но я не могу найти никакой информации. Есть идеи? – JasonB

+0

«man signal» создает для меня соответствующую страницу. – deets

Смежные вопросы