終止進程之前是否需要暫停進程?

終止進程之前是否需要暫停進程?

當 Windows 中的進程被 Process Explorer 或類似軟體(例如 Process Hacker)暫停時會發生什麼?我在網路上的某個地方讀到 Sysinternals 作者建議先暫停該進程,然後再終止它。

如果我直接終止進程有什麼差別嗎?

答案1

不,這是沒有必要的。但是,如果您的系統上存在惡意軟體,該惡意軟體使用多個進程作為彼此的看門狗,那麼您需要先將它們全部掛起,然後再終止它們中的任何一個。

答案2

在 Process Explorer 中,使用系統呼叫掛起進程NtSuspendProcess。看這一頁對於其他幾種可能的方法。

進程在終止時是掛起還是運行沒有區別——在這兩種情況下,TerminateProcess使用 Win32 API,沒有機會進行清理。

相關內容