Process.WaitForExit不等待

时间:2011-02-11 18:15:58

标签: c#-2.0

我有以下代码,WaitForExit方法没有等待。它只是运行命令并转到下一个语句。该命令用于取消对应用程序的取消,而parms用于卸载命令。卸载运行正常,但我需要卸载才能完成继续...它没有阻塞。

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = commandName;
startInfo.Arguments = parms;
Process process = Process.Start(startInfo);
process.WaitForExit();

1 个答案:

答案 0 :(得分:7)

我强烈怀疑安德烈的评论是正确的 - 你正在开始的过程正在退出,但已经开始了一个新的过程。

找到它的简单方法是在调用process.Id之前打印出WaitForExit,然后尝试在任务管理器中找到该进程。我怀疑你会发现它不会存在。

您可能希望循环,在等待卸载完成的另一个指示符时短暂休眠 - 例如删除特定文件或注册表项。不理想,但它可能是你得到的最好的。