2010-06-02 74 views
-1

我开始一个进程让后台工作者说abc.exe。在开始时一切正常,但在新创建的进程之间,即abc.exe暂停。虽然我将abc.exe作为隐藏窗口启动,但我知道它的挂起,因为它会停止执行日志写入。Backgroundworker暂停在

当我关闭我的UI表单时,abc.exe再次开始工作。

有人可以告诉我这可能是什么原因?

我无法调试问题,因为它可能随时发生,我无法复制它。

请告诉我,因为它是非常迫切的我。如果需要更多信息,请回复。

+2

你能告诉我们开始你的过程的代码吗? – 2010-06-02 05:07:31

回答

2

这与创建线程而不是进程的后台工作器无关。我怀疑你正在尝试使用你创建的进程的StdIn/StdOut?

如果您没有正确地从标准输出流中读取数据,那么一个进程挂起就很常见。 There's an example如何正确执行此操作并避免MSDN上的死锁。

+0

我想你说的对,因为我试图读取由abc.exe发送的输出,但没有奏效。我会删除那部分,然后再试一次,让你知道。但感谢您的快速回复,因为它给了我新的希望。 – Dharmendra 2010-06-02 07:45:45

+0

完成这项工作。? – Josh 2010-06-08 04:34:41