系统检测应用(一)

系统检测应用(1)

测试环境:

  • ubuntu16.04
  • golang: go1.8

内容

GetEnvFunc() :获取环境变量函数
GetEnvSvr() :当前只获取cpu核数

代码

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
}
    原文作者:wmm369
    原文地址: https://segmentfault.com/a/1190000014888589
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞