code: func CancelOnCtrlC(ctx context.Context) context.Context {
  	ctx2, cancel := context.WithCancel(ctx)
  	interrupted := make(chan os.Signal, 1)
  	signal.Notify(interrupted, os.Interrupt)
  	go func() {
  		select {
  		case <-interrupted:
  			cancel()
  		case <-ctx2.Done():
  		}
  		signal.Stop(interrupted)
  	}()
  	return ctx2
  }
docs: // CancelOnCtrlC returns a new Context that is canceled on Ctrl-C
  // (os.Interrupt).