使用system call命令从C ++执行bash脚本时遇到问题。 该脚本捕获一个SIGPIPE
信号并返回代码141
。
这个问题已经开始出现在我的代码的最后一个版本。
我的问题如下:
1)如果不知道你改变了什么,那很难回答。
2)如果一个命令序列出现在流水线中,并且一个读命令在写入器完成之前完成,则写器接收到一个SIGPIPE信号。 所以,你是否可以忽略它取决于你的脚本是否是可接受的行为。 更多信息在这里
PiedPiper链接到的FAQ的最新版本指出:
从bash-3.1开始,bash默认不报告SIGPIPE错误。 你可以构建一个bash版本来报告这样的错误。
是否有可能您更改了Bash版本或其构建方式,并导致代码中的行为更改?