我boost::process
在 Linux 的主应用程序中使用 v.1.65.1 来创建少量boost::process::child
对象并管理通过管道交换的boost::process::std_in
数据boost::process::std_out
。
当我的主应用程序收到控制台发送的 CTRL-C 时,我看到子应用程序也收到了 CTRL-C 信号。
为了终止我的孩子,我更愿意通过管道发送一个明确的命令,但是当我这样做时,信号已经被传播了。实际上,有些孩子看到了命令,而其他孩子却没有看到信号。
- 这种信号传播是正常行为吗?
- 我可以做些什么来防止这种情况发生,以便我可以通过管道发出命令而不受干扰?