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