В ожидании закрытого cmd в C#,asp.net
Я бегу cmd на фоне через asp.net. Я хочу дождаться программы, пока не закроется окно cmd? Как я могу добиться успеха?
2 ответа
Решение
Чтобы добавить к ответу Эмре Акара, если вы начнете cmd
себя с Process.Start()
Вы, вероятно, можете сделать это:
var process = Process.Start(@"c:\windows\system32\cmd.exe");
process.WaitForExit();
вместо циклического прохождения всех открытых процессов. Поскольку вы упоминаете asp.net
, если вы запускаете процесс на странице, у вас может быть одновременно запущено много консолей (по одной на страницу), и каждая страница захочет дождаться завершения только той, которую она открыла.
Также взгляните на документы для WaitForExit. Существуют и другие перегрузки, и вы можете указать время ожидания (чтобы ваша страница не застревала в течение долгого времени...)
Я думаю, что это будет работать.
foreach(Process cmdprocess in Process.GetProcessesByName("cmd"))
{
cmdprocess.WaitForExit();
}