我通过asp.net在后台运行cmd。我想等一下程序,直到关闭cmd窗口? 我怎么能成功?
答案 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();
}