从java确定linux版本

时间:2009-08-26 20:36:36

标签: java linux version

我想知道是否有办法确定我在JVM中运行的Linux版本(即区分RHEL4,RHEL5)。我只是想找到一种区分操作系统及其版本的一致方法。

6 个答案:

答案 0 :(得分:8)

JVM通过

为您提供有关操作系统的一些基本信息
System.getProperty()

"os.name" // OS name
"os.arch" // OS architecture
"os.version" // OS version

据我所知,它不提供特定于分发的信息。 至少对于debian发行版,此信息存储在名为

的文件中
  

的/ etc /问题

因此,它可能有助于阅读不同发行版存储此信息的任何文件。

答案 1 :(得分:4)

我不相信您可以查看任何可以提供该信息的系统属性。如何执行cat /proc/version并解析输出。

答案 2 :(得分:1)

您正在运行哪个版本的发行版或哪个版本的内核?我知道Red Hat曾经将他们的版本号保存在名为/ etc / redhat-release的文件中。我不确定其他的发行版。您可以通过对“uname -r”进行系统调用来获取内核版本

答案 3 :(得分:1)

/prov/version是一个好的开始。 /etc/issue也可能有所帮助。

答案 4 :(得分:1)

如果System.getProperty(x)其中x是“os.name”,“os.arch”,“os.version”对你不起作用,那么你可能不得不求助于按照建议运行本机进程(cat / proc / version,或lsb_release等)

答案 5 :(得分:0)

您还可以查看lsb_release

lsb_release -a

会给你类似的东西:

cyril@merlin:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 8.10
Release:    8.10
Codename:   intrepid