是否build议陷阱在脚本中的SIGPIPE?

使用system call命令从C ++执行bash脚本时遇到问题。 该脚本捕获一个SIGPIPE信号并返回代码141

这个问题已经开始出现在我的代码的最后一个版本。

我的问题如下:

  1. 为什么这个SIGPIPE现在发生,并没有发生过?
  2. 忽略SIGPIPE是否安全以及后果如何?

1)如果不知道你改变了什么,那很难回答。
2)如果一个命令序列出现在流水线中,并且一个读命令在写入器完成之前完成,则写器接收到一个SIGPIPE信号。 所以,你是否可以忽略它取决于你的脚本是否是可接受的行为。 更多信息在这里

PiedPiper链接到的FAQ的最新版本指出:

从bash-3.1开始,bash默认不报告SIGPIPE错误。 你可以构建一个bash版本来报告这样的错误。

是否有可能您更改了Bash版本或其构建方式,并导致代码中的行为更改?