为什么这个命令有退出代码1

时间:2015-08-10 10:22:29

标签: java unix

我是UNIX的新手,需要在.jar文件中设置服务器上的日期/时间。

我尝试了以下内容:

        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.warn("exit code:  " + p.exitValue());

退出代码= 1,显然是一般错误"。我已经能够以这种方式成功运行需要sudo的命令。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

@Veselin也可能感兴趣:

问题是date是一个shell命令,我需要访问shell - 我已经修改了命令的root访问权限:

    java.lang.Process p = rt.exec(new String[] {"/bin/sh", "-c","sudo date --set=\"Tue Aug 11 10:10:20 BST 2015\""});

希望这有助于某人!