终止使用 _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
}
程序的 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
}