[英]Determine linux version from java
我想知道是否有辦法確定我在JVM中運行的Linux版本(即區分RHEL4,RHEL5)。 我只是在尋找一種區分操作系統及其版本的一致方法。
JVM為您提供有關操作系統的一些基本信息
System.getProperty()
"os.name" // OS name
"os.arch" // OS architecture
"os.version" // OS version
據我所知,它不提供分發特定信息。 至少對於debian發行版,這些信息存儲在一個名為的文件中
在/ etc /問題
因此,它可能有助於讀取不同發行版存儲此信息的任何文件。
我不相信你可以看到任何系統屬性會給你這些信息。 如何執行cat /proc/version
並解析輸出。
您正在運行哪個版本的發行版或哪個版本的內核? 我知道Red Hat曾經將他們的版本號保存在名為/ etc / redhat-release的文件中。 我不確定其他的發行版。 您可以通過對“uname -r”進行系統調用來獲取內核版本
/prov/version
是一個好的開始。 /etc/issue
也可能有幫助。
如果System.getProperty(x)其中x是“os.name”,“os.arch”,“os.version”對你不起作用,那么你可能不得不求助於按照建議運行本機進程(cat / proc / version,或lsb_release等)
你也可以看看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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.