我想知道在java中以编程方式上次更新操作系统的时间(对于Linux和Widnows)。有没有办法找到它?任何想法!!
答案 0 :(得分:1)
据我所知,Oracle API中没有任何内容可以了解VM可能正在运行的系统的升级状态。
您可以确定一组启发式方法,您可以使用它们来确定给定主机系统的升级状态,然后编写特定于平台的部分,打开System.getProperties("os.version")
和朋友。
困难的部分是确定那些启发式方法。对于不同的系统,版本,版本,它们会有所不同......
我确实发现这些是Apache Commons类中涵盖的各种事物。如果有人对这类事情的支持很少,他们就会。
评论提示跟进:
Apache Commons似乎没有这个,这并不奇怪。
在一天结束时,我的第一个随意评论仍然是关键问题:"升级"对于JVM可能会发现自己的那些系统意味着什么?免费后续问题:我们需要此功能的系统子集是什么?
回答这些问题,您可以从解决方案开始。
因为在核心Java中要求这一点几乎要求不可能。
答案 1 :(得分:0)
System.getProperties("os.version");
怀疑你可以得到日期,所以“何时”可能是一个问题,但版本应该给出一个粗略的想法。
答案 2 :(得分:0)
经过很多次我找到了以编程方式完成此操作的方法。以下是它的实现方式:
Process process = Runtime.getRuntime().exec("wmic qfe list");
reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while((line = reader.readLine()) != null){
System.out.println(line);
}
如果您想了解简要信息,可以使用命令wmic qfe list brief
您将看到完整的Windows更新历史记录列表,包括在哪个日期安装的更新
用于此目的的命令将根据平台而变化。 对于Linux,您可以使用命令 yum history
这是帮助我的Reference link。