我通过 asp.net 在后台运行 cmd。我想等待程序,直到关闭 cmd 窗口?我怎样才能成功?
问问题
116 次
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 回答