В ожидании закрытого 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();
}
Другие вопросы по тегам