code: func (s *StanServer) handleSignals() {
  	c := make(chan os.Signal, 1)
  	signal.Notify(c, syscall.SIGINT, syscall.SIGTERM, syscall.SIGUSR1, syscall.SIGHUP)
  	go func() {
  		for sig := range c {
  			// Notify will relay only the signals that we have
  			// registered, so we don't need a "default" in the
  			// switch statement.
  			switch sig {
  			case syscall.SIGINT, syscall.SIGTERM:
  				s.Shutdown()
  				os.Exit(0)
  			case syscall.SIGUSR1:
  				// File log re-open for rotating file logs.
  				s.log.ReopenLogFile()
  			case syscall.SIGHUP:
  				// Ignore for now
  			}
  		}
  	}()
  }
docs: // Signal Handling