Необходимо ли приостанавливать процесс перед его завершением?

Необходимо ли приостанавливать процесс перед его завершением?

Что происходит, когда процесс в Windows приостанавливается Process Explorer или аналогичным программным обеспечением (например, Process Hacker)? Я где-то читал в Интернете, что авторы Sysinternals рекомендуют сначала приостанавливать процесс, прежде чем завершать его.

Есть ли разница, если я вместо этого напрямую завершу процесс?

решение1

Нет, это не обязательно. Однако, если в вашей системе есть вредоносное ПО, которое использует несколько процессов, которые действуют как сторожевые псы друг для друга, то вам следует сначала приостановить их все, прежде чем завершать любой из них.

решение2

В Process Explorer процесс приостанавливается с помощью NtSuspendProcessсистемного вызова. См.эта страницадля нескольких других возможных методов.

Нет никакой разницы, приостановлен ли процесс или запущен на момент завершения — в обоих случаяхTerminateProcessИспользуется Win32 API, не оставляющий возможности для очистки.

Связанный контент