日期:2014-05-17  浏览次数:20663 次

java修改linux系统时间
Java code

String systemTime = lstData.get(0).get("systemTime");
        String cmd = "date -s \"" + systemTime +"\"";
        System.out.println("cmd-->"+cmd);
        try {
            Process p = Runtime.getRuntime().exec(cmd);
            System.out.println("完成");
        } catch (IOException e) {
            e.printStackTrace();
        }


后台可以清楚看到打印出了cmd-->date -s "2012-08-15 17:38:13"及完成的调试信息,出没有报任何的异常。但linux的系统时间就是没有改变。如果直接在linux下执行该cmd,可以看到linux的系统时间是有变化的。求大虾帮忙,我整一下午了,就是找不出原因。
ps:上面代码是放在一个java类里,前台通过Ajax动态访问这个类,会不是因为这样有影响。

------解决方案--------------------
探讨

引用:

你执行该代码的用户有改时间的权限吗?

怎么看权限,呵呵,不太熟悉linux的命令,还有。我直接在linux下操作那条cmd命令,是可以改变的。就是程序改不了。