From afbe6a5b8b15f48752fe5542c947b960941daa7c Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期二, 17 三月 2020 15:21:30 +0800 Subject: [PATCH] fix: fix cpu info --- machine.go | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/machine.go b/machine.go index 82966df..bf1c8e3 100644 --- a/machine.go +++ b/machine.go @@ -1,6 +1,8 @@ package licence import ( + "sort" + "strconv" "strings" "github.com/shirou/gopsutil/cpu" @@ -10,12 +12,15 @@ ) func GetMachineCode() string { - var machineCode string + var machineInfo []string // CPU - if cpu, err := cpu.Info(); err == nil { - for _, c := range cpu { - machineCode = strings.Join([]string{machineCode, c.String()}, "-cpu-") + if cnt, err := cpu.Counts(true); err == nil { + machineInfo = append(machineInfo, "cpuCounts:"+strconv.Itoa(cnt)) + if cnt > 0 { + if c, err := cpu.Info(); err == nil { + machineInfo = append(machineInfo, "cpuModelName:"+c[0].ModelName) + } } } @@ -23,25 +28,27 @@ if diskInfo, err := disk.Partitions(false); err == nil { for _, d := range diskInfo { diskSerialNumber := disk.GetDiskSerialNumber(d.Device) - strings.Join([]string{machineCode, diskSerialNumber}, "-") + machineInfo = append(machineInfo, diskSerialNumber) } } // Host if host, err := host.Info(); err == nil { - machineCode = strings.Join([]string{machineCode, host.HostID}, "-host-") + machineInfo = append(machineInfo, host.HostID) }*/ // Net if net, err := psnet.Interfaces(); err == nil { for _, n := range net { if n.MTU == 1500 && !VNetFilter(&n) { - machineCode = strings.Join([]string{machineCode, n.HardwareAddr}, "-mac-") + machineInfo = append(machineInfo, "mac:"+n.HardwareAddr) } } } - return GetMd5String(machineCode, true, false) + sort.Strings(machineInfo) + + return GetMd5String(strings.Join(machineInfo, "-|-"), true, false) } func VNetFilter(iface *psnet.InterfaceStat) bool { -- Gitblit v1.8.0