繁体   English   中英

taskkill和taskkill / f之间的区别

[英]Difference between taskkill and taskkill /f

Microsoft Technet上,我可以读到taskkill有一个/f参数来强制taskkill进程。 我想知道这在内部是做什么的,以了解这种行为的影响。

taskkill (不带/f )不会简单地向进程发送WM_CLOSE消息,否则我的应用程序会询问是否保存打开的文档。 这使我假设它已经在TerminateProcess(MSDN)级别上运行。 但是, TerminateProcess没有强制kill的参数。

那么, taskkilltaskkill /f在内部做了什么?

我读了相关的问题C#Process.Kill()和Taskkill之间的区别,但它没有答案。

最有可能的taskkill /f使用TerminateProcess ,其中没有/f taskkill只发布WM_QUIT消息(而不是WM_CLOSE)。 文档说TerminateProcess无条件地杀死了这个过程。

您可以尝试以下实验:

  1. 启动notepad.exe并在notpad窗口中键入几个字符
  2. 输入taskkill /f /im notepad.exe 记事本会立即退出

现在这样做:

  1. 启动notepad.exe并在notpad窗口中键入几个字符
  2. 输入taskkill /im notepad.exe 记事本不会立即退出,但它会退出询问您是否要保存修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM