/** * Handles the signal * @param int $signal * @return void */ public function signalHandler($signal) { if ($signal == SIGINT || $signal == SIGTERM) { //create the event $event = new Event(self::EVENT_INTERRUPT); $event->setApplication($this)->setExitCode($signal); //trigger the event and let cleanup happen $this->getEventManager()->trigger($event); //check if we're allowed to exit //exit exit($event->getExitCode()); } }