String cmd = "date -s '2021-05-05 10:17:12'" Process p = Runtime.getRuntime().exec(cmd); 设置服务器时间不成功
原因好像是因为linux下执行带参数的命令,用上面的方式会出错。 用Process对象的getErrorStream()可以看到错误如下: the argument “10:09:08'” lacks a leading `+';
目前解决方式是用exec(String[] cmdarray) String cmd = "/bin/date -s '2021-05-05 10:17:12'" String[] comands = new String[] { "/bin/sh", "-c", cmd }; Process p = Runtime.getRuntime().exec(comands);
数组的前两个字符串好像是固定写法。后面是带参数的linux执行命令。