| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package Utils
- import (
- "fmt"
- "os"
- "runtime"
- "time"
- )
- // 显示当前系统基本信息
- func ShowSysInf() {
- fmt.Println("★★★★★★★★★★★★★★★★★★★★★★★★")
- fmt.Println("runtime.Version --->", runtime.Version()) //GO的版本
- fmt.Println("runtime.NumCPU --->", runtime.NumCPU()) //CPU核数
- fmt.Println("runtime.GOOS --->", runtime.GOOS) //运行GO的OS操作系统
- fmt.Println("runtime.GOARCH --->", runtime.GOARCH) //CPU架构
- fmt.Println("runtime.Version --->", runtime.Version()) //当前GO语言版本
- fmt.Println("time --->", time.Now()) //系统当前时间
- fmt.Println("★★★★★★★★★★★★★★★★★★★★★★★★")
- //var memStats runtime.MemStats
- //runtime.ReadMemStats(&memStats)
- //fmt.Println("runtime.memStats --->", memStats)
- //获取全部的环境变量
- // data := os.Environ()
- // for _, val := range data {
- // fmt.Println(val)
- // }
- }
- // go不支持三元表达式,可以使用自定义的函数实现
- // 例如:max := utils.If(x > y, x, y).(int)
- func If(condition bool, trueVal, falseVal interface{}) interface{} {
- if condition {
- return trueVal
- }
- return falseVal
- }
- /*
- 交换int数据:a, b := utils.Swap(2, 9)
- 交换字符串数据:A, B := utils.Swap("Li", "Chen")
- */
- func Swap(x, y interface{}) (interface{}, interface{}) {
- return y, x
- }
- // 设置环境变量
- func SetEnv(key, value string) error {
- return os.Setenv(key, value)
- }
- // 取环境变量的值
- func GetEnv(key string) string {
- return os.Getenv(key)
- }
- //取进程ID
- func GetPid() int {
- return os.Getpid()
- }
- func KillByPid(pid int) {
- p, _ := os.FindProcess(pid)
- fmt.Println("KillByPid", p)
- p.Kill()
- }
- func StartProcessDemo() {
- //例子演示
- attr := &os.ProcAttr{
- Files: []*os.File{os.Stdin, os.Stdout, os.Stderr},
- }
- p, _ := os.StartProcess("xxx.exe", []string{"xxx", "1.txt"}, attr)
- p.Release()
- time.Sleep(10000)
- p.Signal(os.Kill)
- os.Exit(10)
- }
|