【问题标题】:Kill a process created with _spawnvp()杀死使用 _spawnvp() 创建的进程
【发布时间】:2020-12-01 09:01:40
【问题描述】:

Windows 版本的程序启动一个进程

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

有效。文档说:“异步_spawnvp(为模式指定_P_NOWAIT)的返回值是进程句柄。”因此我认为应该还有一个 kill 命令来处理这个句柄。当我有 intptr_t 时如何杀死进程?

【问题讨论】:

    标签: c++ visual-c++ spawn


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 2010-09-28
      • 1970-01-01
      • 2013-10-27
      • 1970-01-01
      相关资源
      最近更新 更多