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í

$ yes | head -n 1
  • yes v nekonečné smyčce vypisuje „y“, jeden na řádku
  • head -n 1 vypíše první řádek vstupu a pak se ukončí.

příkaz yes se snaží zapisovat do už uzavřené roury a obdrží signál SIGPIPE. Což se neprojeví viditelně. Ale např. v bash se projeví na nenulovém stavu v PIPESTATUS:

$ echo $PIPESTATUS
141

Reference

V tomto článku byl použit překlad textu z článku SIGPIPE na anglické Wikipedii.

Externí odkazy

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya