有没有简单的方法可以使用进程 ID(pid_t
在 Linux 和PROCESS_INFORMATION::dwProcessId
Windows 中)杀死一个进程?
问问题
519 次
1 回答
5
linux:kill(pid, SIGKILL);
Windows:TerminateProcess(Handle, 1)
你从哪里获得句柄OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
请注意,这两个都会简单地终止进程,目标没有机会正确关闭。如果您想让目标有机会这样做,请在 linux 上使用 SIGHUP 然后 SIGTERM。对于 Windows,如果您有目标应用程序主窗口句柄,您可以发送 WM_SYSCOMMAND/SC_CLOSE,这可以通过 EnumWindows 和 GetWindowThreadProcessId 找到
于 2011-03-07T11:35:06.283 回答