如何在Windows和Linux中杀死进程?

Mih*_*yan 0 windows winapi posix process kill-process

是否有简单的方法可以使用其进程ID(pid_t在Linux和PROCESS_INFORMATION::dwProcessIdWindows中)终止进程?

Eri*_*rik 5

Linux的: kill(pid, SIGKILL);

Windows:TerminateProcess(Handle, 1)从哪里获得HandleOpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);

请注意,这两个都将简单地终止进程,目标没有机会正常关闭.如果你想让目标有机会这样做,请在Linux上使用SIGHUP然后使用SIGTERM.对于Windows,如果你有目标应用程序主窗口句柄,你可以发送WM_SYSCOMMAND/SC_CLOSE,这可以通过EnumWindows和GetWindowThreadProcessId找到