C++ 使用boost'时如何得到子进程的pid;Linux上的异步系统?

C++ 使用boost'时如何得到子进程的pid;Linux上的异步系统?,c++,boost,process,C++,Boost,Process,我使用Boost在Linux中异步创建一个进程,如下所示: #include <boost/process/async_system.hpp> #include <boost/process/io.hpp> ... namespace bp = boost::process; boost::asio::io_context ioctx; bp::async_system( ioctx, [](boost::system::error_

我使用Boost在Linux中异步创建一个进程,如下所示:

#include <boost/process/async_system.hpp>
#include <boost/process/io.hpp>
...

  namespace bp = boost::process;
  boost::asio::io_context ioctx;
  bp::async_system(
      ioctx,
      [](boost::system::error_code errorCode, int rc) {
      }, // don't need an exithandler
      cmd,
      bp::std_out > stdout,
      bp::std_err > stderr,
      bp::std_in < bp::null);
#包括
#包括
...
名称空间bp=boost::process;
boost::asio::io_上下文ioctx;
异步系统(
ioctx,
[](boost::system::error\u code errorCode,int-rc){
},//不需要exithandler
cmd,
bp::标准输出>标准输出,
bp::标准错误>标准错误,
bp::std_in

我想知道是否有办法获得创建的子进程的pid。我没有看到任何迹象表明这一点。请注意,我使用的是async_系统,因为这个子进程是一个长时间运行的进程,它将与父进程的生命周期一样长。如果在这种情况下无法获得子pid,是否还有其他可用的方法可以用来创建一个提供该信息的流程?

Afaik这取决于平台。所以,至少说明你使用的是什么平台。更新了这个问题,提到Linux(尽管我更喜欢它是否在*nix系统上工作——主要是MacOS)。所以,至少说明你使用的是什么平台。更新了这个问题,提到Linux(尽管我更希望它能在*nix系统上工作——主要是MacOS)。