プロセスIDを使用してプロセスを強制終了する簡単な方法はありますか(pid_t
LinuxおよびPROCESS_INFORMATION::dwProcessId
Windowsの場合)?
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 に答える