ApacheToday: Part VI: Forking and Executing Subprocesses from mod_perl
Feb 28, 2001, 01:10 (0 Talkback[s])
(Other stories by Stas Bekman)
Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers
"It's desirable to avoid forking under mod_perl. Since when
you do, you are forking the entire Apache server, lock, stock and
barrel. Not only is your Perl code and Perl interpreter being
duplicated, but so is mod_ssl, mod_rewrite, mod_log, mod_proxy,
mod_speling (it's not a typo!) or whatever modules you have used in
your server, all the core routines, etc."
"... But when a long term process needs to be spawned, there is
not much choice, but to use fork(). We cannot just run this long
term process within Apache process, since it'll first keep the
Apache process busy, instead of letting it do the job it was
designed for. And second, if Apache will be stopped the long term
process might be terminated as well, unless coded properly to
detach from Apache processes group."
"In the following sections I'm going to discuss how to properly
spawn new processes under mod_perl."