我正在尝试运行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)。
答案 0 :(得分:0)
我认为你的子进程有一个负的退出代码。这不是应用程序代码,而是由操作系统终止程序引起的。负数是进程收到的信号编号。在我的Mac上,-8代表SIGFPE。