首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageMagick转换退出状态133

ImageMagick转换退出状态133
EN

Stack Overflow用户
提问于 2011-02-10 04:04:04
回答 3查看 3.9K关注 0票数 5

我正在使用ImageMagick的转换工具来转换运行在Mac上的Java程序中的图像。我使用了下面的代码,这是我从这里中改编的。

代码语言:javascript
复制
public static void convertToJPG(String originalFile, String newFile) throws Exception {
    executeCommand("/usr/local/ImageMagick-6.6.7/bin/convert", originalFile, newFile);
}

private static void executeCommand(String... command) throws Exception {
    ProcessBuilder pb = new ProcessBuilder(command);
    pb.redirectErrorStream(true);
    Process p = pb.start();
    int exitStatus = p.waitFor();
    System.out.println(exitStatus);
    if(exitStatus != 0)
        throw new Exception("Error converting image.");
}

但是,当我这样做时,我会得到133的退出状态和下面的错误消息。我假设这与权限有关,因为当我从终端运行相同的命令时,它工作得很好。

错误消息:

代码语言:javascript
复制
dyld: Library not loaded: /ImageMagick-6.6.7/lib/libMagickCore.4.dylib
  Referenced from: /usr/local/ImageMagick-6.6.7/bin/convert
  Reason: image not found

编辑: Java,所以我得到了上面的错误消息,因为无法看到DYLD_LIBRARY_PATH环境变量。所以我重新启动了Eclipse,一切都成功了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-10 19:10:31

虽然我无法找到关于133返回代码的任何信息,但我注意到您没有读取命令标准out / standard错误流。我建议阅读它,看看ImageMagick是否为您提供了一些更有帮助的输出。有一个问题是这里处理Runtime.exec()方法的更复杂的用例,但是最好的基本方法是用这种方法

票数 3
EN

Stack Overflow用户

发布于 2012-12-11 16:19:46

返回代码133 = 128 +5=+ SIGTRAP

请参阅http://tldp.org/LDP/abs/html/exitcodes.html和“-l”的输出。

票数 4
EN

Stack Overflow用户

发布于 2011-02-10 21:31:28

您应该考虑使用朱密克,它为本地imagemagick库提供Java。它比从您的Java应用程序生成新进程更有效率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4953235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档