SIGPIPE

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

SIGPIPE (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)

Kategorie:Unixové signály

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top