in reply to A Perl Daemon
Actually we've run into similar problems as those habit_forming mentioned (defunct processes, unkillable children(hung on sockets), out of semaphore space errors, etc) when we've tried to fork children from code running under mod_perl. Our testing during development was mostly from the command line and via CGI, then basic checking that it works under mod_perl - which it generally does until its under load, then we get the problems.
The child we were spawning was running a command over ssh that might take a while to complete. I know mod_perl and other persistent Perl environments require a clean lifecycle of the code they run, but are there other requirements for forking code under mod_perl?