code: func catchSignal(sig chan os.Signal, tempConfigFileName string) {
  	<-sig
  	_ = os.Remove(tempConfigFileName)
  	os.Exit(2)
  }
docs: // catchSignal tries to catch SIGHUP, SIGINT, SIGKILL, SIGQUIT and SIGTERM, and
  // Interrupt for removing temporarily created config files before the program
  // ends.  Note:  we cannot intercept a `kill -9`, so a well-timed `kill -9`
  // will allow a temp config file to linger.