在c#,asp.net等待封闭的cmd

时间:2013-09-25 07:22:22

标签: c# asp.net wait

我通过asp.net在后台运行cmd。我想等一下程序,直到关闭cmd窗口? 我怎么能成功?

2 个答案:

答案 0 :(得分:3)

要添加到Emre Acar的答案,如果您使用cmd启动Process.Start(),您可以这样做:

var process = Process.Start(@"c:\windows\system32\cmd.exe");
process.WaitForExit();

而不是循环遍历所有打开的进程。由于您提到asp.net,如果您在页面中启动该过程,则可能会同时运行许多控制台(每页一个),并且每个页面都希望只等待它打开的控制台完成。

另请查看WaitForExit的文档。还有其他重载和you may want to specify a timeout(这样您的页面就不会等待很长时间......)

答案 1 :(得分:1)

我认为这会奏效。

foreach(Process cmdprocess in Process.GetProcessesByName("cmd"))
{
cmdprocess.WaitForExit();
}