SIGPIPE
SIGPIPE (z anglických slov signal a pipe, 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
V tomto článku byl použit překlad textu z článku SIGPIPE na anglické Wikipedii.
Externí odkazy
- Článek o předefinování reakce na SIGPIPE (anglicky)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.