commit 1fed7493c53945a959c5f2dd02667198649e5bed Author: Evan Chen Date: Thu Nov 11 00:05:31 2021 +0800 update diff --git a/main.go b/main.go new file mode 100644 index 0000000..5e922bd --- /dev/null +++ b/main.go @@ -0,0 +1,45 @@ +package main + +import ( + "bufio" + "fmt" + "os/exec" + "sync" + "time" +) + +func main() { + cmd := exec.Command("configui", "-p", "main.go") + out, _ := cmd.StdoutPipe() + stderr, _ := cmd.StderrPipe() + cmd.Start() + defer cmd.Process.Kill() + fmt.Println("start: ", cmd.Args, ", pid: ", cmd.Process.Pid) + <-time.After(time.Second * 1) + var outlock sync.Mutex + scanner := bufio.NewScanner(out) + go func() { + for { + <-time.After(time.Second) + fmt.Println("Usage: ", cmd.ProcessState.SysUsage()) + } + }() + go func() { + for scanner.Scan() { + m := scanner.Text() + outlock.Lock() + fmt.Println(m) + outlock.Unlock() + } + }() + scannererr := bufio.NewScanner(stderr) + go func() { + for scannererr.Scan() { + m := scannererr.Text() + outlock.Lock() + fmt.Println(m) + outlock.Unlock() + } + }() + <-time.After(time.Second * 20) +}