确定从Java版本的Linux(Determine linux version from java)

2019-07-03 19:12发布

我不知道是否有一种方法来确定我运行的Linux版本从JVM内(即RHEL4,RHEL5区分)。 我只是在寻找一个一致的方式在操作系统及其版本之间的区别。

Answer 1:

您还可以看看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


Answer 2:

该JVM提供了有关通过操作系统的一些基本信息

System.getProperty()

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

据我所知,它不提供配送的具体信息。 至少在Debian发行此信息存储在一个名为

在/ etc /问题

因此,它可以帮助阅读的任何文件,其中不同的发行版存储这些信息的。



Answer 3:

我不相信有任何系统属性,你可以看看,会给你的信息。 如何只执行cat /proc/version和解析输出。



Answer 4:

您正在运行或内核版本的发行版本? 我知道红帽用来保持在一个名为/ etc / redhat的-release文件的版本号。 我不知道对于其他发行版的。 您可以通过“使用uname -r”做一个系统调用获得内核版本



Answer 5:

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



Answer 6:

如果System.getProperty(x),其中x是“os.name”,“os.arch”,“os.version”不为你工作,那么你可能不得不求助于运行本机进程的建议(CAT / PROC /版本,或lsb_release等)



文章来源: Determine linux version from java