Files
mayfly-go/mock-server/machine/shell.go

35 lines
804 B
Go
Raw Normal View History

2020-09-01 10:34:11 +08:00
package machine
import (
"io/ioutil"
2021-03-24 17:18:39 +08:00
"mayfly-go/base/biz"
2020-09-01 10:34:11 +08:00
)
const BasePath = "./machine/shell/"
const MonitorTemp = "cpuRate:{cpuRate}%,memRate:{memRate}%,sysLoad:{sysLoad}\n"
// shell文件内容缓存避免每次读取文件
var shellCache = make(map[string]string)
2021-01-08 15:37:32 +08:00
func (c *Cli) GetProcessByName(name string) (*string, error) {
return c.Run(getShellContent("sys_info"))
2020-09-01 10:34:11 +08:00
}
2021-01-08 15:37:32 +08:00
func (c *Cli) GetSystemInfo() (*string, error) {
return c.Run(getShellContent("system_info"))
2020-09-01 10:34:11 +08:00
}
// 获取shell内容
func getShellContent(name string) string {
cacheShell := shellCache[name]
if cacheShell != "" {
return cacheShell
}
bytes, err := ioutil.ReadFile(BasePath + name + ".sh")
2021-03-24 17:18:39 +08:00
biz.ErrIsNil(err, "获取shell文件失败")
2020-09-01 10:34:11 +08:00
shellStr := string(bytes)
shellCache[name] = shellStr
return shellStr
}