package main import ( "exec" "fmt" "io" "os" ) func PipeToPrint(r io.ReadCloser) { defer r.Close() for { b := make([]byte,100) _, err := r.Read(b) switch { case err == os.EOF: return case err != nil: fmt.Printf("READ_ERROR:%v\n", err) return } } } func main() { for i := 0; i < 10000; i++ { cmd := exec.Command("echo", "blah") outpipe, err := cmd.StdoutPipe() if err != nil { fmt.Printf("PIPE_ERROR:%v\n", err) continue } go PipeToPrint(outpipe) if err = cmd.Start(); err != nil { fmt.Printf("START_ERROR:%v\n", err) continue } if err = cmd.Wait(); err != nil { fmt.Printf("WAIT_ERROR:%v\n", err) continue } } }