2

Почему завершение задачи в XP/Vista занимает намного больше времени, чем завершение самого процесса? Какова связь между задачей и процессом с точки зрения ОС?

2 ответа2

7

"Задача" - это термин, используемый "Диспетчером задач", чтобы - оправдать свое имя - показать список "главных окон пользовательских процессов"(*), если таковые имеются

"Завершить задачу" дает "задаче" (цикл сообщений для "главного окна") последний шанс отреагировать на сообщение WM_CLOSE и тайм-аут на связанный процесс до завершения. (Http://blogs.msdn.com/oldnewthing/archive/2004/07/22/191123.aspx)

"Завершить процесс" - это грубый процесс TerminateProcess, отбрасывающий все ожидающие изменения в файлах или других ресурсах.

Обычно мини-дамп создается для отчета Microsoft Online Crash Analysis (Dr. Watson), который также может занять секунду или две.

(*) Рэймонд, я знаю, что это так неточно.

5

Я полагаю, что завершение задачи сначала требует корректного завершения работы программы, тогда как завершение процесса является эквивалентом SIGKILL для Windows - ОС просто выводит процесс без вопросов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .