| | |
| | | |
| | | var BasicProc = map[string]string{ |
| | | // "analysis": "算法处理单元", |
| | | "apiserver": "basic接口服务", |
| | | "decoder": "视频解码服务", |
| | | "elasticsearch": "分布式数据搜索引擎", |
| | | "apiserver": "basic接口服务", |
| | | "decoder": "视频解码服务", |
| | | // "elasticsearch": "分布式数据搜索引擎", |
| | | // "faceDetect": "人脸识别服务", |
| | | "file-service": "文件服务", |
| | | "pollcontrol": "轮询管理", |
| | | "pushServer": "规则处理单元", |
| | | // "pollcontrol": "轮询管理", |
| | | "pushServer": "规则处理单元", |
| | | // "dataProcess": "规则处理单元", |
| | | "schedule": "调度进程", |
| | | // "sdkCompare": "人脸比对服务", |
| | | "sshd": "ssh服务端", |
| | | "videopublish": "实时视频推流服务", |
| | | "videosvr.out": "国标上级服务", |
| | | "weed": "分布式文件系统", |
| | | "sshd": "ssh服务端", |
| | | "zlmediaKit": "实时视频推流服务", |
| | | "wvp": "国标上级服务", |
| | | "weed": "分布式文件系统", |
| | | } |
| | | |
| | | var ModleProc = map[string]string{ |
| | |
| | | apps := dbApi.FindAppMap() |
| | | for k, v := range dbApi.FindAppMap() { |
| | | if v.ProcName != "" { |
| | | installedAppMap[v.ProcName] = apps[k] |
| | | installedAppMap[v.Id] = apps[k] |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 统计正在运行的应用信息 |
| | | ps, _ := process.Processes() |
| | | for _, p := range ps { |
| | | if name, err := p.Name(); err == nil { |
| | | if app, isExist := installedAppMap[name]; isExist { |
| | | proc := Proc{ |
| | | Name: app.Name, |
| | | Pid: p.Pid, |
| | | Desc: app.Title, |
| | | } |
| | | |
| | | proc.Cpu, _ = p.CPUPercent() |
| | | proc.Mem, _ = p.MemoryPercent() |
| | | proc.Gpu = gpuPer.Get(int(p.Pid)) |
| | | |
| | | procs = append(procs, proc) |
| | | |
| | | delete(installedAppMap, name) |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 追加未启动的应用 |
| | | for _, v := range installedAppMap { |
| | | proc := Proc{ |
| | | Name: v.Name, |
| | | Pid: 0, |
| | | Desc: v.Title, |
| | | } |
| | | |
| | | proc.Cpu = 0 |
| | | proc.Mem = 0 |
| | | proc.Gpu = 0 |
| | | for _, p := range ps { |
| | | if name, err := p.Name(); err == nil { |
| | | if name == v.ProcName { |
| | | proc.Pid = p.Pid |
| | | proc.Cpu, _ = p.CPUPercent() |
| | | proc.Mem, _ = p.MemoryPercent() |
| | | proc.Gpu = gpuPer.Get(int(p.Pid)) |
| | | } |
| | | } |
| | | } |
| | | |
| | | procs = append(procs, proc) |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | if k == "elasticsearch" { |
| | | if k == "zlmediaKit" { |
| | | cmdLine, _ := p.Cmdline() |
| | | if strings.Contains(cmdLine, "MediaServer") { |
| | | proc.Pid = p.Pid |
| | | |
| | | break |
| | | } |
| | | } |
| | | if k == "wvp" { |
| | | cmdLine, _ := p.Cmdline() |
| | | if strings.Contains(cmdLine, k) { |
| | | proc.Pid = p.Pid |