Hi Haskell-Cafe,<br><br>I&#39;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 <a href="http://hpaste.org/54954">http://hpaste.org/54954</a>. 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. <br>

<br>I have tried to use System.Timeout.timeout around readProcess, but without surprise it did not work. Another way of doing it is to use the timeout from gnu-coreutils, but the timeout resolution is in seconds (same with eprover&#39;s flag --cpu-limit). Any ideas how I could write my code to get a clean termination of this process?<br>

<br>Best,<br>Dan Rosén<br>