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

Zdroj