private static function _cronDaemonize() { set_time_limit(0); declare (ticks=1); /* signal handler */ $fHandler = function ($iSignal) { switch ($iSignal) { case SIGTERM: case SIGINT: case SIGHUP: Daemon::log("Daemon " . Daemon::getCurrentScriptBasename() . " has received signal."); Daemon::removePIDFile(); break; } }; if (!pcntl_signal(SIGTERM, $fHandler) or !pcntl_signal(SIGINT, $fHandler) or !pcntl_signal(SIGHUP, $fHandler)) { self::log("Unable to set signal handler."); die; } }