我知道可以使用 Windowstaskkill 实用程序“杀死”一个无响应的进程。但是,如果我对正在运行且没有问题的进程调用它,会发生什么情况——taskkill 会首先尝试正常退出它吗?
PS. 我之所以询问是因为我想使用脚本中的 taskkill 来关闭一个程序,但如果它“强制”终止程序的进程而不先让其“正常”退出,我就不会使用它。
答案1
默认情况下,taskkill 实用程序将向进程发送 WM_CLOSE 信号。这与单击标题栏中的红色 x 时发送的信号相同。
编写良好的应用程序将监听此信号,并启动清理和关闭。
如果卡住了,它就无法执行此操作,因此被视为无响应。Taskkill 将等待正常关机,然后提示用户无条件关机。
您可以使用/f 参数直接进入无条件关机。
因此,回答您的问题,如果您不想强制关闭应用程序,请使用不带 /f 参数的 taskkill。