code: public function end($status = 0, $response = null)
      {
          if ($this->state === self::STATE_BEFORE_REQUEST || $this->state === self::STATE_HANDLING_REQUEST) {
              $this->state = self::STATE_AFTER_REQUEST;
              $this->trigger(self::EVENT_AFTER_REQUEST);
          }
  
          if ($this->state !== self::STATE_SENDING_RESPONSE && $this->state !== self::STATE_END) {
              $this->state = self::STATE_END;
              $response = $response ?: $this->getResponse();
              $response->send();
          }
  
          if (YII_ENV_TEST) {
              throw new ExitException($status);
          }
  
          exit($status);
      }
docs: Terminates the application.
  This method replaces the `exit()` function by ensuring the application life cycle is completed
  before terminating the application.
  @param int $status the exit status (value 0 means normal exit while other values mean abnormal exit).
  @param Response $response the response to be sent. If not set, the default application [[response]] component will be used.
  @throws ExitException if the application is in testing mode