您应该在此处使用管道,例如:
stdout, err := cmd.StdoutPipe()
if err != nil {
return 0, err
}
// start the command after having set up the pipe
if err := cmd.Start(); err != nil {
return 0, err
}
// read command's stdout line by line
in := bufio.NewScanner(stdout)
for in.Scan() {
log.Printf(in.Text()) // write each line to your log, or anything you need
}
if err := in.Err(); err != nil {
log.Printf("error: %s", err)
}
我只Stdout
在这里处理过,但是可以同时处理Stderr
,例如使用goroutine。