终止使用 _spawnvp() 创建的进程

Kill a process created with _spawnvp()

程序的 Windows 版本以

启动进程
char * argv[..];
intptr_t childHandle = _spawnvp( _P_NOWAIT, "executable.exe", argv );

有效。文档说:“异步 _spawnvp 的 return 值(为模式指定的 _P_NOWAIT)是进程句柄。”因此我假设还应该有一个使用这个句柄的 kill 命令。当我有 intptr_t 时如何终止进程?

_spawnvp returns 进程句柄,如果将它与 _P_NOWAIT 参数一起使用。使用 Win32 API 您可以终止进程:

UINT exitCode = 0;
intptr_t handle = _spawnvp(_P_NOWAIT, "executable.exe", argv );
if(TerminateProcess((HANDLE) handle, exitCode))
{
    // successful termination
}