Linux: kill(pid, SIGKILL);
Windows: TerminateProcess(Handle, 1)
где вы получаете Handle от OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
Обратите внимание, что оба из них просто убьют процесс, цель не имеет возможности правильно завершить работу. Если вы хотите, чтобы у цели была возможность сделать это, используйте SIGHUP, а затем SIGTERM в Linux. Для окон вы можете отправить WM_SYSCOMMAND / SC_CLOSE, если у вас есть дескриптор главного окна целевых приложений, это можно найти с помощью EnumWindows и GetWindowThreadProcessId