SIGPIPE: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Ghuron (обсуждение | вклад) м →Использование: викификация |
Glovacki (обсуждение | вклад) Нет описания правки |
||
(не показаны 3 промежуточные версии 3 участников) | |||
Строка 5: | Строка 5: | ||
В [[POSIX]]-системах, '''SIGPIPE''' — [[сигналы (UNIX)|сигнал]], посылаемый процессу при записи в соединение (пайп, сокет) при отсутствии или обрыве соединения с другой (читающей) стороной. |
В [[POSIX]]-системах, '''SIGPIPE''' — [[сигналы (UNIX)|сигнал]], посылаемый процессу при записи в соединение (пайп, сокет) при отсутствии или обрыве соединения с другой (читающей) стороной. |
||
SIGPIPE — целочисленная константа, определенная в заголовочном файле <code>signal.h</code>. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться. |
|||
== Этимология == |
== Этимология == |
||
Строка 22: | Строка 22: | ||
{{Сигналы}} |
{{Сигналы}} |
||
[[en:SIGPIPE]] |
Текущая версия от 10:29, 4 июля 2015
SIGPIPE | |
---|---|
Описание | запись в разорванное соединение |
По умолчанию | завершение процесса |
Коды SA_SIGINFO | |
Не имеет специфических кодов |
В POSIX-системах, SIGPIPE — сигнал, посылаемый процессу при записи в соединение (пайп, сокет) при отсутствии или обрыве соединения с другой (читающей) стороной.
SIGPIPE — целочисленная константа, определенная в заголовочном файле signal.h
. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.
Этимология
[править | править код]SIG — общий префикс сигналов (от англ. signal), PIPE — англ. pipe — труба, соединение.
Использование
[править | править код]Пайп (англ. pipe) однонаправленный канал между процессами, который позволяет одному процессу пересылать данные другому, без необходимости создавать файлы на диске. Когда пайп рвется, процесс, который пытается туда писать получает SIGPIPE.
Наиболее простой вариант пайпа создает шелл Unix, между программами, запускаемыми из командной строки, разделенными символом «|», например, командная строка:
dmesg | less
создает пайп от программы dmesg
(выводящей отладочные сообщения ядра при загрузке) к программе постраничного просмотра less
. Если программа less
завершится, прежде чем получит весь вывод dmesg
, dmesg
будет преждевременно завершена сигналом SIGPIPE.
SIGPIPE также может получить программа, работающая с сетевым соединением — сокетом, например, при работе по протоколу TCP из семейства IP.