Рекомендуется захватить SIGPIPE в сценарии удара?

У меня есть проблема при выполнении сценария удара от C++ с помощью команды системного вызова. Сценарий ловит a SIGPIPE сигнал и выход с кодом возврата 141.

Эта проблема начала появляться только в последнем выпуске моего кода.

Мои Вопросы следующие:

  1. Почему этот SIGPIPE происходит теперь и не произошел прежде?
  2. Действительно ли безопасно проигнорировать SIGPIPE и каковы последствия?
5
задан Kev 13 June 2012 в 16:14
поделиться

2 ответа

1) Это очень сложно ответить, не зная, что вы изменили.
2) Если в трубопроводе появляется последовательность команд, и один из команд чтения заканчивается до окончания писателя, писатель получает сигнал SIGPIPE. Так что можете ли вы игнорировать это зависит от того, является ли это приемлемым поведением для вашего сценария. Подробнее здесь

3
ответ дан 14 December 2019 в 19:13
поделиться

A Текущая версия FAQ , что PiedPiper связано с состояниями:

по умолчанию Bash-3.1, Bash не сообщает об ошибках SigPipe. Ты Может создать версию Bash, которая сообщит о таких ошибках.

Возможно ли, что вы изменили версии Bash или так, как он построен, и это вызвало изменение поведения в вашем коде?

2
ответ дан 14 December 2019 в 19:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: