When executing some command(let\'s say \'x\') from cmd line, I get the following message:
\"....Press any key to continue . . .\". So it waits for user input to unblock.
You should read the ouput and error streams of your subprocess simultaneously. The buffer size of these streams is limited. If one of the buffers gets full the subprocess will block. I think that is what happens in your case.