由于子子流程可能失败

时间:2018-05-25 19:11:40

标签: subprocess imagemagick racket

我是Racket的新手,在尝试调用外部进程时遇到了问题。

所以我想使用ImageMagick将pdf文件转换为png文件,我已经定义了我的参数,

  (define convert-args
    (list "-density" "100")
          (dvi-file)
          "-quality" "90"
          (png-file)))

然后我尝试使用以下代码调用convert

(apply system*/exit-code (convert-path) convert-args)

我已经检查了我收集的命令,/usr/local/bin/convert -density 100 file.pdf -quality 90 file.png,当我将它复制粘贴到命令行时,它运行得很好。但是,如果我使用Racket运行此命令,则会出现此错误:

  

转换:FailedToExecuteCommand`' gs' ...

我发现gs表示Ghostscript,即

  

PostScript语言和PDF的解释器

所以我在想,Racket给我这个错误的原因是convert试图调用gs,但convert是一个子流程,gs是另一个进程不知何故,子进程无法调用子进程,这是正确的吗?如果是这样,我能解决这个问题吗?

提前致谢!

0 个答案:

没有答案