我不知道是否有一种方法来确定我运行的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