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.
In reply to Re: Writing a Daemon on Windows/Linux
by radiantmatrix
in thread Writing a Daemon on Windows/Linux
by hackdaddy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |