Jon*_*eet 19
这取决于它的发展方向 - 但是,如果你在.NET中重定向输出,如果你不读取输出,你很容易遇到问题.当缓冲区用完时,子进程中对stdout的写入将被阻塞.导致死锁的一个常见原因是"父"进程等待"子"退出,然后读取输出 - 如果子进程需要父进程读取输出以释放缓冲区空间,则无法正常工作.
.NET通过允许使用Process.OutputDataReceived
和的事件驱动方法使这变得更容易Process.ErrorDataReceived
.这意味着您不需要启动两个线程(一个用于读取stdout,一个用于读取stderr)只是为了防止进程阻塞...
归档时间: |
|
查看次数: |
7547 次 |
最近记录: |