在回應進程上呼叫 TaskKill。它也強行終止它嗎?

在回應進程上呼叫 TaskKill。它也強行終止它嗎?

我知道可以使用 Windows任務終止實用程式「殺死」一個無回應的進程。但是,如果我在一個正在運行且沒有問題的進程上調用它,會發生什麼——taskkill 會首先嘗試正常退出它嗎?

附言。我問的原因是因為我想使用腳本中的taskkill來關閉一個程序,但如果它“強制”終止程序的進程而不首先讓它“優雅地”退出,我不會使用它。

答案1

預設情況下,taskkill 公用程式將向進程發送 WM_CLOSE 訊號。這與單擊標題列中的紅色 x 時發送的信號相同。

編寫良好的應用程式將偵聽此訊號,並啟動清理和關閉。

如果它被卡住,它將無法執行此操作,因此被視為無回應。 Taskkill 將等待正常關閉,然後提示使用者無條件關閉。

您可以使用 /f 參數直接無條件關閉。

因此,在回答您的問題時,如果您不想強制關閉應用程序,請使用不含 /f 參數的taskkill。

相關內容