Merge pull request #739 from Lomanic/issue738

[host][linux] Fix #738 use uname syscall to get version in KernelVersion()
This commit is contained in:
shirou 2019-08-11 21:57:14 +09:00 committed by GitHub
commit 8a5bcfdb53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 12 deletions

View File

@ -18,6 +18,7 @@ import (
"time"
"github.com/shirou/gopsutil/internal/common"
"golang.org/x/sys/unix"
)
type LSB struct {
@ -374,19 +375,12 @@ func KernelVersion() (version string, err error) {
}
func KernelVersionWithContext(ctx context.Context) (version string, err error) {
filename := common.HostProc("sys/kernel/osrelease")
if common.PathExists(filename) {
contents, err := common.ReadLines(filename)
if err != nil {
return "", err
}
if len(contents) > 0 {
version = contents[0]
}
var utsname unix.Utsname
err = unix.Uname(&utsname)
if err != nil {
return "", err
}
return version, nil
return string(utsname.Release[:]), nil
}
func getSlackwareVersion(contents []string) string {