即使使用WaitForExit(),进程也没有完成

时间:2012-10-31 19:24:19

标签: c# process waitforexit

我有一个启动流程的方法。该过程是一个ruby脚本,它查询外部源并返回打印到文本文件'output.txt'并放在目录中的内容。

在执行期间,我运行的方法如下所示:

p.StartInfo.FileName = @"blah directory";
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.Start();
p.WaitForExit();

然后在我的另一种方法中我说:

processmethod();
StreamReader sr = new StreamReader ("output.txt");

由于某种原因,ruby脚本没有完成,因为它没有创建output.txt文件。我知道它不是ruby脚本的问题,因为如果我手动执行它它工作正常。

我猜它有某种时间问题。奇怪的是,这个工作正常,直到昨天没有对代码区域进行任何改动。我在某个地方看到'waitforexit'也锁定了线程,所以我不知道如果没有他先进行实际完成的流程,它是如何进入流式读取器的。

当代码移动到streamreader行时,进程似乎也会终止,因为窗口关闭,我仍然没有输出文件

0 个答案:

没有答案