Как убить процесс без того, чтобы процесс вышел
Привет, я получаю ошибку типа "не могу обработать запрос, потому что процесс (2808) вышел"
мой код таков
try { Process[] open_procs = Process.GetProcessesByName("WINWORD"); if (open_procs.Length > 0) { foreach (var proc in open_procs) { if (!proc.HasExited) { // Discard cached information about the process. Thread.Sleep(5000); proc.Kill(); } else { break; } } } } catch (Exception ex) { using (StreamWriter w = File.AppendText(@"C:\\Error.txt")) { w.WriteLine("Error occured on " + DateTime.Now.ToString() + "\t" + " In Process , Error Description \n " + ex.ToString()); } }
может ли кто-нибудь увидеть эту проблему
Nicholas Marty
Может ли быть так, что во время вашей "нити.Сон" называют процесс завершенным сам по себе?
agent_kruger
вы получаете проблему в "процессе.Убивать();"
ZurdoDev
Где же происходит ошибка?
Sergey Alexandrovich Kryukov
Разве вы не видите, что ваша нить.Сон(5000) ожидание неизвестно чего и убийство процесса-это уже большой недостаток? Вся эта идея может быть неправильной, но сначала вы должны объяснить ее.
Обычно процессы не должны быть убиты, в худшем случае они должны получить сигнал о завершении и выходе сами по себе. Убийство - это признак нерешенной проблемы, решенной в экстренном стиле.
—СА