开启 Microsoft Technet我可以读到 taskkill
有一个 /f
参数来强制终止进程。我想知道这在内部有什么作用,以了解此类操作的影响。
taskkill
(没有 /f
)不会简单地向进程发送 WM_CLOSE 消息,否则我的应用程序会询问是否保存打开的文档。这让我假设它已经在 TerminateProcess (MSDN) 上运行。等级。但是,TerminateProcess
没有强制终止的参数。
那么,taskkill
和 taskkill/f
在内部是做什么的?
我阅读了相关问题 Difference between C# Process.Kill() and Taskkill但它没有答案。
最佳答案
taskkill/f
最有可能使用 TerminateProcess
, 其中 taskkill
没有 /f
只是发布 WM_QUIT消息(不是 WM_CLOSE)。文档说 TerminateProcess
无条件终止进程。
您可以尝试以下实验:
- 启动 notepad.exe 并在记事本窗口中输入几个字符
- 键入
taskkill/f/im notepad.exe
。记事本将立即退出
现在这样做:
- 启动 notepad.exe 并在记事本窗口中输入几个字符
- 键入
taskkill/im notepad.exe
。记事本不会立即退出,但会退出询问您是否要保存修改。
关于windows - taskkill 和 taskkill/f 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32346219/