argument('config'); if (!file_exists($config_file) || !is_readable($config_file)) throw new \Exception("Cannot read config file: $config_file"); $config = new \App\Configuration(); $config->load($config_file); $engine = app()->make(\App\Engine::class, ['config'=>$config]); declare(ticks = 1); $signal_handler = function($signal) use ($config_file, &$engine) { switch ($signal) { case SIGHUP: $config = new \App\Configuration(); $config->load($config_file); $engine = app()->make(\App\Engine::class, ['config'=>$config]); break; } }; pcntl_signal(SIGHUP, $signal_handler); while (true) { $engine->layout(); sleep($this->option('interval')); } } }