运行unoconv的python子进程抛出CalledProcessError退出代码8

时间:2014-11-13 20:14:03

标签: python subprocess

我正在尝试运行unoconv来转换文件夹中的一组文档,如下所示:

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

现在,我在django视图中运行上面的代码 - 它一直按预期运行,即将文档转换为PDF,但有时,上面的代码会引发以下异常:

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

但是,当我转到该文件夹​​时,我发现转换已经发生并且PDF按预期生成。

我无法理解此退出代码的含义(我搜索了unoconv的文档,但找不到任何退出代码8)。

1 个答案:

答案 0 :(得分:0)

我认为你的子进程有一个负的退出代码。这不是应用程序代码,而是由操作系统终止程序引起的。负数是进程收到的信号编号。在我的Mac上,-8代表SIGFPE。