Just as a FYI, I was just poking around my code and realized they child processes were NOT dying with a certain command and becoming zombies. Sure enough there were 56 zombie processes. On the 57th timeout, no child process or zombie would spawn so I said to myself, "maybe there's a limit on zombies somewhere?" So I set $SIG{CHLD} to 'IGNORE' to prevent zombies. It went OK for awhile but then the same problem appeared again even with no zombies!
Am still looking to see whats truly causing the command to not work. I'll give your method a shot in a bit.