System_Daemon

Because the Process Control Extensions' documentation is a bit rough, I decided to figure it out once, and then wrap my knowledge and the required code inside a PEAR class called: System_Daemon. And so now you can just:

System_Daemon Usage

<?php
    
require_once "System/Daemon.php";                 // Include the Class

    
System_Daemon::setOption("appName""mydaemon");  // Minimum configuration
    
System_Daemon::start();                           // Spawn Deamon!
?>

And that's all there is to it. The code after that, will run in your server's background. So next, if you create a while(true) loop around that code, the code will run indefinitely. Remember to build in a sleep(5) to ease up on system resources.

Features & Characteristics Here's a grab of System_Daemon's features:

  • Daemonize any PHP-CLI script

  • Simple syntax

  • Driver based Operating System detection

  • Unix only

  • Additional features for Debian / Ubuntu based systems like:

  • Automatically generate startup files (init.d)

  • Support for PEAR's Log package

  • Can run with PEAR (more elegance & functionality) or without PEAR (for standalone packages)

  • Default signal handlers, but optionally reroute signals to your own handlers.

  • Set options like max RAM usage