boost/process.hpp提供了一个很好的机制来生成和管理进程。
它提供了一个 child.terminate() 方法来向孩子发送 SIGKILL。
我如何将 SIGINT 或 SIGTERM 发送到子进程?
boost/process.hpp提供了一个很好的机制来生成和管理进程。
它提供了一个 child.terminate() 方法来向孩子发送 SIGKILL。
我如何将 SIGINT 或 SIGTERM 发送到子进程?
看起来你可以这样做:
#include <boost/process/child.hpp>
pid_t pid = my_child.id ();
kill (pid, SIGINT);
文档指出这是id
一个私有成员函数,但实际上它似乎不是。
还有:
native_handle_t native_handle() const;
但是实际返回的内容没有记录。在 Windows 上它很可能是一个进程句柄,但在 *nix 上当然没有这样的东西。
...泰德打败了我:)