系統檢測應用(一)

系統檢測應用(1)

測試環境:

  • ubuntu16.04
  • golang: go1.8

內容

GetEnvFunc() :獲取環境變量函數
GetEnvSvr() :當前只獲取cpu核數golang


代碼

package main

import (
    "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
}
相關文章
相關標籤/搜索