這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
系統檢測應用(1)
測試環境:
- ubuntu16.04
- golang: go1.8
內容
GetEnvFunc() :擷取環境變數函數
GetEnvSvr() :當前只擷取cpu核心數
代碼
package mainimport ( "bytes" "detect_sys/ming" "fmt" "os" "os/exec" /* "strconv" */ "strings")// OsEnv 系統內容變數擷取type OsEnv struct { EnvUser string EnvHome string Pid int}func main() { fmt.Println("start") fmt.Println(GetEnvFunc()) GetEnvSvr() ming.StrFunc() fmt.Println("end")}//GetEnvFunc 擷取環境變數函數func GetEnvFunc() (res OsEnv) { res.EnvUser = os.Getenv("USER") res.EnvHome = os.Getenv("HOME") res.Pid = os.Getpid() return res}// GetEnvSvr 1.擷取cpu核心數func GetEnvSvr() int { cmd := exec.Command("/bin/bash", "-c", "lscpu |grep 'CPU(s)' |grep -v 'li'|grep -v '-'|awk '{print $1}'") var out bytes.Buffer cmd.Stdout = &out err := cmd.Run() if err != nil { fmt.Println("error") return -1 } // 去除空格 str := strings.Replace(out.String(), " ", "", -1) // 去除分行符號 str = strings.Replace(str, "\n", "", -1) fmt.Println("CPU核心數:" + str) return 1}