系统检测应用(一)

wmm369 · · 78 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

系统检测应用(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
}

本文来自:Segmentfault

感谢作者:wmm369

查看原文:系统检测应用(一)

78 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传