Beste Antwort
SIGPIPE ist das Signal „defekte Pipe“, das an einen Prozess gesendet wird, wenn versucht wird, in eine Pipe zu schreiben, deren Leseende hat geschlossen (oder wenn versucht wird, in einen Socket zu schreiben, der nicht mehr zum Lesen geöffnet ist), aber nicht umgekehrt . Die Standardaktion besteht darin, den Prozess zu beenden.
Dieses Verhalten ist nützlich für typische Fälle, in denen Prozesse in Pipelines ausgeführt werden. Wenn Sie foo | bar
ausführen, wird die Ausgabe von foo
nie direkt angezeigt – sie wird zur Eingabe von bar
und Sie sehen die Ausgabe von bar
. Dies bedeutet, dass wenn bar
stirbt, es keinen Sinn macht, dass foo
weiterhin Ausgabe erzeugt. Dies kann entweder passieren, weil bar
fehlgeschlagen ist oder weil keine Eingabe mehr erforderlich ist (wenn beispielsweise die Eingabe gescannt wird, um sicherzustellen, dass keine Fehler vorliegen, kann sie nach dem Auffinden gestoppt werden die erste).
Stellen Sie sich vor, was passieren würde, wenn SIGPIPE nicht vorhanden wäre und bar
gestorben wäre (ob aufgrund eines Fehlers oder weil es einfach beschlossen hat, das Programm zu beenden) ). foo
wird weiterhin ausgeführt und muss beim Versuch zu schreiben einen Fehlercode erhalten. Möglicherweise wird dies ignoriert und die Ausführung fortgesetzt, sodass der Benutzer keinen offensichtlichen Hinweis darauf hat, dass der möglicherweise abnormale Zustand, dass bar
zuerst beendet wird, aufgetreten ist. Wenn foo
von SIGPIPE beendet wird, erkennt die Shell dies mithilfe einer der wait()
-Funktionen und druckt eine „Broken Pipe“ -Nachricht oder ähnlich.
Wenn dagegen foo
zuerst stirbt, ist dies der übliche Fall. Es schließt das Schreibende und dann erreicht bar
einfach die EOF und wird normal beendet.
Antwort
OpenConfig ist eine Sammlung von Industriestandard-YANG-Modelle für Konfiguration und Verwaltung, die nativ auf Netzwerkhardware- und -softwareplattformen unterstützt werden.
Für die Netzwerkbetreiber ist es sehr teuer geworden, ihre automatisierten Frameworks für Bereitstellungen mehrerer Anbieter zu warten.
Obwohl es viele Standardtransportschnittstellen gibt, gibt es keine Standarddatendarstellung (Beispiel: Anbieter A und Anbieter B unterstützen möglicherweise Standardschnittstellen (wie XML, REST, NETCONF …), sondern Datenschlüsselwert sind nicht gleich. Hersteller-A könnte den Schnittstellenschlüssel als „intf“ darstellen, und Hersteller-B könnte den Schnittstellenschlüssel als „Schnittstelle“ darstellen.
Jedes Mal, wenn ein Netzwerkbetreiber einen neuen hinzufügt / aktualisiert Bei ihren Bereitstellungen von verschiedenen Anbietern müssen sie ihr automatisiertes Framework aktualisieren und einen Übersetzer schreiben, um die Anbieterspezifikationen zu konvertieren fic-Datenrepräsentation zur Kundendatenrepräsentation.
Einige Netzbetreiber wie Google, AT & T, BT, Microsoft … arbeiten daran, diese Übersetzer an den Anbieter weiterzuleiten. Den Betreibern ist es egal, wie sie Daten erhalten, sie benötigen jedoch Daten in einer gemeinsamen Darstellung, damit ihre Tools die Daten leicht verstehen und analysieren können.
Das YANG-Modell wird verwendet, um diese Standarddatenmodelle zu definieren. Sie können sich einige Standard-Yang-Modelle ansehen @ openconfig / public
YANG (eine weitere nächste Generation) ist eine Datendefinitionssprache.