是否建议在bash脚本中捕获SIGPIPE?

Eya*_*alk 5 c c++ linux bash

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

此问题已开始出现在我的代码的最后一个版本中.

我的问题如下:

  1. 为什么这个SIGPIPE现在发生并且之前没有发生?
  2. 忽略SIGPIPE是否安全?后果是什么?

Pie*_*per 4

1)如果不确切知道你改变了什么,就很难回答这个问题。
2) 如果管道中出现一系列命令,并且其中一个读取命令在写入器完成之前完成,则写入器会收到 SIGPIPE 信号。因此,您是否可以忽略它取决于您的脚本是否可以接受这种行为。更多信息请点击此处