Nejlepší odpověď
SIGPIPE je signál „přerušeného potrubí“, který je odeslán do procesu, když se pokouší zapsat do kanálu, jehož konec čtení má uzavřeno (nebo při pokusu o zápis do zásuvky, která již není otevřená pro čtení), ale ne naopak . Výchozí akcí je ukončení procesu.
Toto chování je užitečné pro typické případy spouštění procesů v potrubích. Pokud spustíte foo | bar
, nikdy neuvidíte výstup foo
přímo – stane se vstupem bar
a uvidíte výstup bar
. To znamená, že pokud například bar
zemře, pak nemá smysl foo
pokračovat v produkci. K tomu může dojít buď proto, že bar
selhal, nebo proto, že již nepotřebuje vstup (například pokud skenuje svůj vstup, aby se ujistil, že v něm nejsou žádné chyby, může se po nalezení zastavit první).
Představte si, co by se stalo, kdyby SIGPIPE neexistoval a bar
zemřel (ať už kvůli chybě, nebo proto, že se jednoduše rozhodl ukončit ). foo
bude pokračovat v provozu a při pokusu o zápis bude muset obdržet chybový kód. Mohlo by to ignorovat a pokračovat v běhu, takže by uživatel neměl žádné zjevné indikace, že došlo k možnému neobvyklému stavu bar
prvního ukončení. Když je foo
zabit SIGPIPE, shell to detekuje pomocí jedné z wait()
funkcí a vytiskne zprávu „Broken pipe“ nebo podobné.
Na druhou stranu, pokud foo
zemře jako první, je to obvyklý případ; uzavře konec zápisu a poté bar
jednoduše dosáhne EOF a normálně se ukončí.
Odpověď
OpenConfig je kolekce průmyslové standardní modely YANG pro konfiguraci a správu, které budou nativně podporovány na síťových hardwarových a softwarových platformách.
Provozovatelům sítě se stalo velmi nákladné udržovat své automatizované rámce pro nasazení od různých dodavatelů.
Ačkoli existuje mnoho standardních transportních rozhraní, neexistují žádná standardní reprezentace dat (Příklad: vendor-A a vendor-B mohou podporovat standardní rozhraní (jako XML, REST, NETCONF …), ale datový pár klíč – hodnota nejsou stejné. vendor-A může představovat klíč rozhraní jako „intf“ a vendor-B může představovat klíč rozhraní jako „interface“)
Takže pokaždé, když operátor sítě přidá / aktualizuje nový zařízení v jejich nasazeních od různých dodavatelů, musí aktualizovat svůj automatizovaný rámec a psát překladač, aby mohli převést specifikaci dodavatele Reprezentace fic dat do reprezentace dat zákazníků.
Někteří operátoři sítí jako Google, AT&T, BT, Microsoft … pracují na předávání těchto překladačů dodavateli. Provozovatelům nezáleží na tom, jak získávají data, ale potřebují data ve společné reprezentaci, aby jejich nástroje mohly datům snadno porozumět a analyzovat je.
K definování těchto standardních datových modelů se používá model YANG. Můžete se podívat na některé standardní modely yang @ openconfig / public
YANG (Yet Another Next Generation) is a data definition language.