使用system call命令从C ++执行bash脚本时遇到问题。
该脚本捕获SIGPIPE
信号并退出,返回码为141
。
此问题已开始仅出现在我的代码的最后一个版本中。
我的问题如下:
答案 0 :(得分:3)
1)如果不确切知道你改变了什么,那就很难回答 2)如果一个命令序列出现在管道中,并且其中一个读取命令在写入器完成之前完成,则写入器接收SIGPIPE信号。因此,您是否可以忽略它取决于您的脚本是否可接受的行为。更多信息here
答案 1 :(得分:2)
PiedPiper 链接到州的current version of the FAQ:
从bash-3.1开始,bash默认不报告SIGPIPE错误。您 可以构建一个报告此类错误的bash版本。
您是否可能更改了Bash版本或其构建方式并导致代码中的行为发生变化?