Win32 API TerminateProcess()返回成功,但进程未终止

时间:2019-02-27 10:56:56

标签: winapi process kill terminate

我正在使用TerminateProcess()杀死另一个进程(我知道这不是最好的方法,但是它是已经部署的现有代码)。在大多数情况下,一切都会按预期工作,但是在两台特定的计算机上,即使TerminateProcess()返回的非零值也表示成功,该进程也不会终止。

我们试图从任务管理器中终止该进程,但该进程被终止了。

文档说,只有在所有IO操作完成或取消后,该过程才会终止,因此我们认为也许有一些待处理的IO操作,但是如果是这种情况,任务管理器也将无法终止该过程。

调用TerminateProcess()的进程正在系统帐户下运行,因此我们认为这不是权限问题(此外,如果是权限问题,我们希望该函数返回ACCESS_DENIED)。

我们试图杀死的进程正在RDP会话中作为初始程序运行。

有人对导致这种行为的原因有任何想法吗?还是建议解决方法?我们尝试使用Process Monitor和Process Explorer,但没有找到任何东西。

0 个答案:

没有答案