+ // Fork a daemon process
+ $pid = pcntl_fork();
+ if ($pid == -1) {
+ echo "Daemon couldn't be forked.\n";
+ Logger::warning('Could not fork daemon');
+ exit(1);
+ } elseif ($pid) {
+ // The parent process continues here
+ echo 'Child process started with pid ' . $pid . ".\n";
+ Logger::notice('Child process started', ['pid' => $pid]);
+ file_put_contents($pidfile, $pid);
+ exit(0);
+ }
+
+ // We now are in the child process