code: func (h *Handler) signal(s os.Signal) {
  	h.once.Do(func() {
  		for _, fn := range h.notify {
  			fn()
  		}
  		if h.final == nil {
  			os.Exit(2)
  		}
  		h.final(s)
  	})
  }
docs: // signal calls the notify functions and final, used when a signal was caught
  // while the Run method was running. If final is nil, os.Exit will be called as
  // a default.