从Java检查UNIX命令的退出代码

时间:2015-08-10 08:33:19

标签: java unix

我遇到需要从.jar执行UNIX命令的情况。我尝试了以下(日期是仲裁):

    java.lang.Runtime rt = java.lang.Runtime.getRuntime();
    java.lang.Process p = rt.exec("sudo date --set=\"Tue Aug 11 10:10:20 BST 2015\"");
    p.waitFor();
    logger.log("executed with value: " + p.exitValue());

我只是想知道在这种情况下是否有办法检查退出代码?

注意:我用这种方式执行了一个命令,即“sudo mkdir -p / root / abcd”,它确实有用。

2 个答案:

答案 0 :(得分:0)

我认为p.waitFor()不是您需要的功能 - 请查看原因:waitFor -Process。 如果您使用p.destroy(),您将获得返回值。

编辑:我发现本教程使用了类似的代码:) Tutorial

答案 1 :(得分:0)

p.waitFor()就足够了,我正在查找错误的日志文件......有点尴尬但承认这些错误是不重复这些错误的第一步。谢谢大家的帮助!