zhangmeng
2019-12-23 bab50e4a4c6ddcab2197624e9148612ff2dd61c4
update
2个文件已修改
16 ■■■■■ 已修改文件
app/master/master.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/master/reaper.go 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/master/master.go
@@ -60,7 +60,7 @@
        }
        args = append(args, app.GetParams(util.ConfigPath, file)...)
        pid, err := runProc(ctx, "./analysis", args, &cfg.Env)
        pid, err := runProc(ctx, "./analysis", args, cfg.Env)
        if err != nil {
            logo.Errorf("ANALYSIS START SLAVE PROC %s IPC: %s error %+v\n", v.SdkType, v.IpcID, err)
app/master/reaper.go
@@ -30,7 +30,7 @@
            logo.Infoln("pid : [", pid, "] quit")
        }
        delete(procMap, pid)
        runProc(ctxt, info.cmd.Path, info.cmd.Args[1:], &info.env)
        runProc(ctxt, info.cmd.Path, info.cmd.Args[1:], info.env)
    } else {
        logo.Errorln(pid, " doesn't exist")
    }
@@ -47,10 +47,14 @@
        logo.Errorln(pid, " doesn't exist")
    }
}
func runProc(ctxt context.Context, bin string, args []string, env *string) (int, error) {
func runProc(ctxt context.Context, bin string, args []string, env string) (int, error) {
    cmd := exec.CommandContext(ctxt, bin, args...)
    cmd.Env = os.Environ()
    cmd.Env = append(cmd.Env, *env)
    rEnv := ""
    if len(env) != 0 {
        rEnv = "LD_LIBRARY_PATH=" + env
        cmd.Env = os.Environ()
        cmd.Env = append(cmd.Env, rEnv)
    }
    pid := -1
    cmd.Stdout = os.Stdout
@@ -58,7 +62,7 @@
    err := cmd.Start()
    if err == nil {
        pid = cmd.Process.Pid
        procMap[pid] = &procInfo{cmd, *env}
        procMap[pid] = &procInfo{cmd, rEnv}
    }
    return pid, err
}