func runprog(argv []string) (filesize int64, mem int64, err error) { var attr os.ProcAttr var stat *os.ProcessState var proc *os.Process exepath, err := exec.LookPath(argv[0]) if err != nil { err = errors.New("can't find exe file.") return } proc, err = os.StartProcess(exepath, argv, &attr) if err != nil { return } fi, err := os.Stat(exepath) if err != nil { return } filesize = fi.Size() stat, err = proc.Wait() mem = int64(stat.SysUsage().(*syscall.Rusage).Maxrss) return }