or download this
open2() does not wait for and reap the child process after it exits. E
+xcept for short programs where it's acceptable to let the operating s
+ystem take care of this, you need to do this yourself. This is normal
+ly as simple as calling waitpid $pid, 0 when you're done with the pro
+cess. Failing to do this can result in an accumulation of defunct or
+"zombie" processes. See perlfunc/waitpid for more information.