我知道通过在终端中使用命令
date --set="2011-12-07 01:20:15.962"
您实际上可以更改系统时钟,所以我在 Java 中尝试了它并提出了以下语句
Process p = Runtime.getRuntime().exec("date --set=\"2011-12-07 01:20:15.962\"");
但它无法设置时钟。
你知道伙计们它是如何工作的吗?
前提:机器是Slackware,权限是root级别
这行代码有两个问题:
Process p = Runtime.getRuntime().exec("date --set=\"2011-12-07 01:20:15.962\"");
参数应该与程序名称分开,试试这个:
“日期”、“-s”、“2011-12-07 01:20:15.962”
或者,调用 shell 作为进程,并传入一行代码:
.exec("sh", "-c", "date --set=\"2011-12-07 01:20:15.962\"")
Process p=Runtime.getRuntime().exec(new String[]{"date","--set","2011-12-07 01:20:15.962"});
上面的陈述就像魔术一样起作用。@Howard Gou 的“参数应该与程序名称分开”是正确的
命令语句的部分应使用字符串数组传递。