При подключении трубопровода от одной программы к другой, что происходит с исходной программой, если программа, получающая выход, убита?

Очевидно, вам нужно обновить VirtualBox до 4.2, иначе он не будет работать

1
задан 27 April 2011 в 17:04

32 ответа

Труба будет сломана, а программа, записывающая в трубу, получит сигнал SIGPIPE.

Из GLIBC :

SIGPIPE Broken труба. Если вы используете каналы или FIFO, вам необходимо создать приложение, чтобы один процесс открыл канал для чтения, прежде чем начнется запись. Если процесс чтения никогда не запускается, или неожиданно завершается , запись в трубку или FIFO вызывает сигнал SIGPIPE. Если SIGPIPE заблокирован, обработан или проигнорирован, нарушающий вызов не работает с EPIPE.

1
ответ дан 13 August 2018 в 16:13
  • 1
    Что такое действие по умолчанию для получения сигнала SIGPIPE? Например, если приложение не обрабатывает его напрямую, что-то еще придет и уничтожит его, или он просто продолжит беспроблемную работу? – Oli♦ 27 April 2011 в 17:26
[Не d0] Ничего. Данные идут в / dev / null. Постскриптум О, да, программа получит сигнал, но это не значит, что придется закрыть.

0
ответ дан 13 August 2018 в 16:13

Другие вопросы по тегам:

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