+---------- On Apr 10, Tom Jackson said: > I would try using daemontools to start and restart AOLserver. This tool > should correctly handle killing all children of the main process.
It probably won't. It sends signals only to its direct child. > I have one process I control with daemontools using fghack that allways > creates a zombie process (portsentry), but killing and restarting cleans up > this mess (and then re-creates a new zombie). This indicates that portsentry is simply not calling wait on the child process. When you kill portsentry, the child is inherited by init, which calls wait. >From Janine's description, it sounds like the "defunct" threads are not actually zombies, or else they are not direct children of the nsd process that she's killing and their actual parent is not dead. Since she's running AOLserver 2.3.3 on Redhat 6.2, this could be rather hard to debug. She said she's using Oracle. My first action would be to tell the Oracle driver to use a TCP or IPC connection to Oracle, rather than the "bequeath" adapter, if she hasn't already. I have seen too many problems with the bequeath adapter to trust it for production use.
