【发布时间】:2011-07-10 07:15:19
【问题描述】:
是否有简单的方法可以使用进程 ID(Linux 中的 pid_t 和 Windows 中的 PROCESS_INFORMATION::dwProcessId)终止进程?
【问题讨论】:
标签: windows winapi process posix kill-process
是否有简单的方法可以使用进程 ID(Linux 中的 pid_t 和 Windows 中的 PROCESS_INFORMATION::dwProcessId)终止进程?
【问题讨论】:
标签: windows winapi process posix kill-process
linux:kill(pid, SIGKILL);
Windows:TerminateProcess(Handle, 1) 你从 OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId); 获得句柄
请注意,这两个都会简单地杀死进程,目标没有机会正常关闭。如果您想让目标有机会这样做,请在 linux 上使用 SIGHUP 然后 SIGTERM。对于 Windows,如果您有目标应用程序主窗口句柄,则可以发送 WM_SYSCOMMAND/SC_CLOSE,这可以通过 EnumWindows 和 GetWindowThreadProcessId 找到
【讨论】: