有一个程序a.exe,始终在运行,过几秒钟会在控制台上打些话,我用vb2005的process.Start()启动它,隐藏窗口,并重定向到StandardOutput,想根据控制台的输出做一些不同的事情,比如杀掉这个进程再重启一下。现在发现的问题是无论通过StandardOutput.ReadLine还是StandardOutput.ReadtoEnd都会无限期阻塞。有啥方法可以在a.exe没有结束的情况下读取它的现有的输出?因为a.exe输出比较少,如果重定向到文件会因为buffer的问题而没有输出(貌似必须等到输出达到一定长度才会写盘)。如果能设个什么变量把这个buffer值改小应该也能解决问题,但是怎么改呢?谢谢先~