如何在java中找到上次更新操作系统的时间

时间:2016-02-05 21:26:26

标签: java

我想知道在java中以编程方式上次更新操作系统的时间(对于Linux和Widnows)。有没有办法找到它?任何想法!!

3 个答案:

答案 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