0

有没有简单的方法可以使用进程 ID(pid_t在 Linux 和PROCESS_INFORMATION::dwProcessIdWindows 中)杀死一个进程?

4

1 回答 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 回答