使用system call命令从C ++执行bash脚本时遇到问题。 该脚本捕获一个SIGPIPE信号并返回代码141 。
我的问题如下:
为什么这个SIGPIPE现在发生,并没有发生过?
忽略SIGPIPE是否安全以及后果如何?
在Linux和FreeBSD之间使bash脚本可移植的正确方法是什么?
testingsystemd单元是否在bash脚本中处于活动状态
如何在Ubuntu下处理GNU Make中的shell扩展?
在rails_root / Incron之外运行rake不会为rails运行rake或bundle命令
在Linux上安装cx_Oracle的问题 – 只从Site-Packages目录导入
Git Bash挂在CTRL + I上
为什么许多init.d脚本以“exit $?”结尾?
bash – parsing文件中的参数列表
ssh脚本返回255错误
在Linux中将分隔文件转换为固定宽度
1)如果不知道你改变了什么,那很难回答。
2)如果一个命令序列出现在流水线中,并且一个读命令在写入器完成之前完成,则写器接收到一个SIGPIPE信号。 所以,你是否可以忽略它取决于你的脚本是否是可接受的行为。 更多信息在这里
PiedPiper链接到的FAQ的最新版本指出:
从bash-3.1开始,bash默认不报告SIGPIPE错误。 你可以构建一个bash版本来报告这样的错误。
是否有可能您更改了Bash版本或其构建方式,并导致代码中的行为更改?