У меня есть метод, который останавливает службы, но мне также необходимо удалить журналы. Обычно это не проблема, но процесс может занять немного времени перед закрытием. Опять же, хотя сервис оказывается остановленным, процесс занимает дополнительное время, чтобы закрыть его должным образом. Поскольку процесс все еще запущен, я не могу удалить журналы, поэтому мне нужно найти способ отслеживания .exe, чтобы узнать, когда он безопасен для удаления журналов.Мониторинг удаленного процесса
до сих пор мой лучший вариант - цикл while, к сожалению, первая итерация инструкции delete вызывает исключение и останавливает программу.
do
{
// delete logs
}
while (System.Diagnostics.Process.GetProcessesByName(processName, machineName).Length > 0);
Я уверен, что есть простое решение, но мой недостаток опыта - настоящая проблема.
Правильно, проблема с этим состоит в том, что длина составляет 1, а процесс выполняется таким образом, «удалить log 'не будет выполнен, если это не было вызвано после остановки процессов. Это не дождалось завершения процесса, и это то, что мне нужно. – Ryan
Не могли бы вы просто изменить «<' to a '>»? Это имеет ту же логику, что и приведенный вами пример, за исключением того, что проверяет условие выхода перед выполнением содержимого цикла. –
Спасибо, greg, я очень ценю это. – Ryan