GPD: Why a General Purpose Daemon

JP Navarro,


Daemons are time honored technique to implement services on Unix platforms. Some distributed systems administration functions can be more effectively implemented using daemons rather than rsh/ssh. Developing a new daemon each time one is desired is a barrier to their use, since it's can be a significant development task to implement one in a way that includes advanced features like non-blocking I/O operations and handling multiple clients concurrently.

Perl's IO::Socket and IO::Select modules are a great foundation for building daemons. GPD uses these modules to implement a generic daemon that can jumpstart application specific daemon development. In it's current implementation just grab the GPD code and customize the IntCmd & ExtCmd hashes to define your own functions or external commands.


Developed and tested w/ Perl 5.00503.



Program Name: GPD

General Purpose Daemons, is intended to be configurable to perform any type of daemond/server functionality.


See 'gpd -h'.




Just Beta for now.

Random Ideas

This needs to become a Perl Library or Module so it's easier to distinguish between the gpd package and the site implementation/customizations.