On Wed, Dec 7, 2011 at 06:47, Dan Rosén <danr@student.gu.se> wrote:
I'm using Haskell to run a lot of instances of an Automated Thorem Prover, eprover. I have pasted a smaller version of my program at http://hpaste.org/54954. It runs eprover sequentially on all input files, with a timeout of 100ms. Unfortunately, it leaves a lot of zombie processes around, probably due to the fact that terminateProcess fails to terminate them, even though eprover terminates on SIGTERM.

They *do* terminate; a zombie is a dead process waiting for its parent to reap it with waitForProcess.  There's also some POSIX stuff you can do to have them auto-reaped, but doing that correctly and portably is somewhat painful.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms