SIGPIPE
Technology
12 hours ago
8
4
2
Author
Albert FloresSIGPIPE (z anglických slov a , tedy signál a roura) je signál v systémech kompatibilních se standardem POSIX. Číslo SIGPIPE je 13. Proces tento signál obdrží, pokud se pokusí psát do roury, která není na druhém konci připojena. Jeho číselná hodnota je definována v hlavičkovém souboru signal.h a na různých platformách se může lišit.
Přednastavenou reakcí pro proces je ukončení se, ale pomocí sigaction je možné reakci předefinovat.
Příklad
Nasimulovat SIGPIPE je možné například pomocí
$ ps l | head
* ps l se pokusí do roury zapsat seznam všech procesů, jeden na řádku * head vypíše prvních deset řádek vstupu a pak se ukončí. Vzhledem k tomu, že na běžném systému je více než deset procesů, dojde k situaci, kdy se ps snaží zapisovat do už uzavřené roury a obdrží signál SIGPIPE.
Reference
Externí odkazy
[url=https://web.archive.org/web/20101115200915/http://krokisplace.blogspot.com/2010/02/suppressing-sigpipe-in-library.html]Článek o předefinování reakce na SIGPIPE[/url] (anglicky)