package main import ( "bufio" "os" "os/signal" "syscall" ) func main() { doOUt := true chSignal := make(chan os.Signal, 1) signal.Notify(chSignal, syscall.SIGPIPE) scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { line := scanner.Text() select { case <-chSignal: doOUt = false default: } if doOUt { os.Stdout.WriteString(line + "\n") } } }