The child_exit phase is executed before the child process exits. Notice that it happens only when the process exits, not when the thread exits (assuming that you are using a threaded MPM).
The PerlChildExitHandler directive should appear in the top-level server configuration file. mod_perl will run all registered PerlChildExitHandler handlers for this phase until a handler returns something other than Apache::OK or Apache::DECLINED.
In the Book::StartupLog example we used the child_exit( ) handler:
sub child_exit { my($child_pool, $s) = @_; say("process $$ now exits"); return Apache::OK; }
The child_exit( ) handler accepts two arguments: the child process pool and the server object. The example handler logs the PID of the child process in which it's run and returns.
As you saw in the example, this handler is configured by adding the following to httpd.conf:
PerlChildExitHandler Book::StartupLog::child_exit
 
Continue to: