Возможный сбой из-за подпроцесса - PullRequest
0 голосов
/ 25 мая 2018

Я новичок в Racket и столкнулся с проблемой при попытке вызвать внешний процесс.

Поэтому я хочу преобразовать PDF-файл в PNG-файл, используя ImageMagick , у меня естьопределили мои аргументы,

  (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, она выдаст эту ошибку:

convert: FailedToExecuteCommand `'gs' ...

Я обнаружил, что gsозначает Ghostscript , то есть

Интерпретатор для языка PostScript и для PDF

, так что я думаю, причина, почему Racket дает мне этоошибка в том, что convert пытается вызвать gs, но convert - это подпроцесс, а gs - это другой процесс, каким-то образом подпроцесс не может вызвать подпроцесс, верно?Если да, то можно ли это исправить?

Заранее спасибо!

...