-2

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

4

2 回答 2

3

要添加到 Emre Acar 的答案,如果您从cmd自己开始,Process.Start()您可能可以这样做:

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

而不是循环遍历所有打开的进程。既然你提到asp.net了,如果你在页面中启动进程,你可能会同时运行很多控制台(每页一个),每个页面都希望只等待它打开的那个完成。

另请查看 WaitForExit 的文档。还有其他重载,您可能需要指定超时(这样您的页面就不会卡住等待很长时间......)

于 2013-09-25T07:43:11.343 回答
1

我认为这会奏效。

foreach(Process cmdprocess in Process.GetProcessesByName("cmd"))
{
cmdprocess.WaitForExit();
}
于 2013-09-25T07:27:14.917 回答