等待过程完成

时间:2009-09-18 10:32:30

标签: c# visual-studio-2008

我在c#中有一个程序,例如运行某个过程

        generate.exe a.tif -o myfile.txt

以下代码后面的代码将需要访问以下myfile.txt。 我怎么知道什么时候准备好了?我知道它会生成文件肯定,但如何设置下一行,以便它只在生成文件myfile.txt后执行。非常感谢!!!

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

假设您的流程仅在生成文件后退出,您可以使用Process.WaitForExit()

您还可以查看此kb文章以获取更多信息:http://support.microsoft.com/kb/305369

答案 2 :(得分:1)

如果进程在创建文件后立即结束,那么您可以使用Process.WaitForExit作为@Naveen建议。 如果过程没有结束,那么:

  1. 您必须引入IPC(例如:事件)来指示文件创建。
  2. 或者通过在一段固定的时间内打开来轮询文件创建。 (我认为,解决方法很简单。)

答案 3 :(得分:0)

Process.HasExited将为您提供您正在寻找的答案。