Я использую Process.Kill()
, чтобы убить процесс. Вот так:
if( !process.WaitForExit( 5000 ) ) {
process.Kill();
}
и иногда процесс будет выходить прямо между строк, поэтому управление попадет внутрь if
, а затем Kill
даст исключение:
System.InvalidOperationException
Cannot process request because the process (ProcessIdHere) has exited.
at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
at System.Diagnostics.Process.Kill()
//my code here
Теперь обертка кода в try-catch не кажется хорошей идеей, потому что InvalidOperationException
можно вызвать по другим причинам.
Есть ли способ убить процесс без исключения в описанном сценарии?