$pid = pcntl_fork(); if ($pid == -1) { die('Could not fork a new process!\\n'); } elseif ($pid == 0) { #we are now in a child process, and the capture_changes #below will be daemonized pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler"); } else { #return control to the shell exit; } } #support pid file if (!empty($params['pid'])) { if (file_exists($params['pid'])) { $pid = trim(file_get_contents($params['pid'])); $ps = `ps -p{$pid}`; if (preg_match('/php/i', $ps)) { die("Already running!\n"); } else { echo "Stale lockfile detected.\n"; } } file_put_contents($params['pid'], getmypid()); } require_once 'include/flexsbr.php'; $cdc = new FlexSBR($settings); #capture changes forever (-1): $cdc->capture_changes(-1);