Назад | Перейти на главную страницу

Как именно Windows убивает процесс?

Я не знаком с тем, как в Windows убиваются процессы. В Linux «теплое» уничтожение посылает сигнал (15), который процесс может обработать, создав экземпляр обработчика сигнала. Холодное уничтожение - это сигнал (9), который ОС обрабатывает принудительным завершением процесса.

Как я могу «убить» процесс в Windows? Как это обрабатывается ОС и процессом? Какие действия выполняет ОС? Есть ли кроссплатформенный способ ответа на запрос на уничтожение / закрытие?

«Конец задачи» (и taskkill), кажется, публикует WM_CLOSE сообщение в окна программы. (То же самое происходит, когда вы нажимаете × Кнопка «Закрыть».) Если программа не завершится через какое-то время, пользователю будет предложено принудительно завершить ее.

"Kill Process" и taskkill /f использовать TerminateProcess().

Sysinternals (теперь часть Microsoft) предлагает утилиту под названием pskill который можно использовать из командной строки для уничтожения процессов в локальной или удаленной системе.

Обычный способ убить процессы в Windows в среде графического интерфейса - использовать диспетчер задач.

с cygwin вы можете использовать кроссплатформенное убийство!