Was sind SIGPIPEs?


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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.