It sounds like you don't understand when child processes exit in apache. They only exit when the server either shuts down or decides there are too many idle processes running and kills some. They can also exit when you hit MaxRequests for that process. There is no guarantee that any child process will ever exit before the final shutdown of the server though. If you want something to happen at the end of each request, you can either put that into your main handler code (or are you using Apache::Registry) or use a cleanup handler.