Problems with child processes not cleaning up

I almost set the title "problem killing children" but thought that sounded bad for some reason... lol.

I'm using latest ubuntu 64bit server, symfony 1.4, propel 1.7 with connections to an oracle database using pdo_oci8.  The issue I'm seeing is the only way to stop the child processes that open a database connection is using SIGKILL.  This is causing me some pain when recycling processes, catching errors, restarting the parent daemon, etc...  

Any way to add an option to force cleanup child processes or a check to see that they're all gone and SIGKILL after a specific timeout?