我试图在我的子进程上调用TerminateProcess(仅作为一个安全机制,当孩子陷入死锁或激烈的事情时),但我得到ERROR_INVALID_HANDLER .
我试过玩过程设置,但没有帮助 . 如果我在CreateProcess()之后立即调用TerminateProcess(),则调用确实有效 .
BOOL ret;
HANDLE hProcess;
hProcess = OpenProcess(PROCESS_TERMINATE,
FALSE,
pid);
if (hProcess = NULL) {
debug("Error: OpenProcess failed: %d", GetLastError());
return -1;
}
ret = TerminateProcess(hProcess, 1);
CloseHandle(hProcess);
if (!ret) {
debug("Error: TerminateProcess failed: %d", GetLastError());
return -1;
}
else return 0;
我收到错误6,INVALID_HANDLE_EXCEPTION . 我仔细检查了并且pid是正确的(它与任务管理器中的匹配) . 唯一可能的错误可能是我如何获得OpenProcess()的句柄 . 我试图使用PROCESS_ALL_ACCESS,但这不起作用 .
有谁知道有什么可能是错的吗?
编辑:拍出这样一个愚蠢的错误!我给hProcess分配了NULL('='而不是'==')
对不起,帖子!