in reply to Writing a Daemon on Windows/Linux
Having addressed this issue in my work before, I will tell you what I found to work exceedingly well.
The process of creating a detached process is very different in Win32 and *NIX; but, all the rest of what you need to do is pretty platform independent.
So, using modules like SOAP::Lite and Parallel::ForkManager, or perhaps the usual fork can be implemented easily in a platform-neutral way. Create your own module that contains all the code you need to actually make the daemon do its thing.
Then, create a Perl script for each platform that sets up the daemon process in the platform-specific manner and then runs the logic inside your module. For *NIX, I've had excellent success with Proc::Daemon, and on Win32 Win32::Service has worked well. Each of these scripts will only be a few lines long, and since they share code via your module, you aren't creating a maintenance headache.
|
---|