Wat zijn SIGPIPEs?


Beste antwoord

SIGPIPE is het “gebroken pijp” -signaal, dat naar een proces wordt gestuurd wanneer het probeert te schrijven naar een pijp waarvan het leesuiteinde gesloten (of wanneer het probeert te schrijven naar een socket die niet langer open is voor lezen), maar niet vice versa . De standaardactie is om het proces te beëindigen.

Dit gedrag is handig voor typische gevallen waarin processen in pijplijnen worden uitgevoerd. Als je foo | bar uitvoert, krijg je nooit de uitvoer van foo rechtstreeks te zien — het wordt de invoer voor bar en je ziet de uitvoer van bar. Dit betekent dat als bijvoorbeeld bar sterft, het geen zin heeft om foo door te gaan met het produceren van uitvoer. Dit kan gebeuren omdat bar is mislukt, of omdat er geen invoer meer nodig is (als het bijvoorbeeld zijn invoer scant om er zeker van te zijn dat er geen fouten zijn, kan het stoppen nadat het de eerste).

Stel je voor wat er zou gebeuren als SIGPIPE niet bestond, en bar stierf (als gevolg van een fout of omdat het simpelweg besloot af te sluiten ). foo zou blijven draaien, en het zou een foutcode moeten ontvangen bij een poging om te schrijven. Het kan dit negeren en doorgaan met werken, waardoor de gebruiker geen duidelijke indicatie heeft dat de mogelijk abnormale toestand van bar het eerst wordt beëindigd. Wanneer foo wordt gedood door SIGPIPE, zal de shell dit detecteren met behulp van een van de wait() functies, en een “Broken pipe” -bericht afdrukken of vergelijkbaar.

Aan de andere kant, als foo het eerst sterft, is dit het gebruikelijke geval; het sluit het schrijfeinde, en dan bar zal gewoon de EOF bereiken, en normaal eindigen.

Antwoord

OpenConfig is een verzameling van industriestandaard YANG-modellen voor configuratie en beheer die native worden ondersteund op netwerkhardware- en softwareplatforms.

Het is erg duur geworden voor de netwerkoperators om hun geautomatiseerde frameworks te onderhouden voor implementaties van meerdere leveranciers.

Hoewel er veel standaard transportinterfaces zijn, zijn er geen standaard gegevensweergave (voorbeeld, leverancier-A en leverancier-B ondersteunen mogelijk standaardinterfaces (zoals XML, REST, NETCONF …), maar gegevenssleutelwaarde zijn niet hetzelfde. vendor-A kan de interfacesleutel voorstellen als “intf” en vendor-B kan de interfacesleutel voorstellen als “interface”)

Dus elke keer dat een netwerkoperator een nieuwe toevoegt / update apparaat in hun implementaties van verschillende leveranciers, moeten ze hun geautomatiseerde framework bijwerken en een vertaler schrijven om de leverancierspeci fic data representatie naar klant data representatie.

Sommige netwerkoperators zoals Google, AT&T, BT, Microsoft … werken eraan om deze vertaler naar de leverancier te sturen. Het maakt operators niet uit hoe ze aan gegevens komen, maar ze hebben gegevens nodig in een gemeenschappelijke weergave zodat hun tools de gegevens gemakkelijk kunnen begrijpen en ontleden.

Het YANG-model wordt gebruikt om deze standaardgegevensmodellen te definiëren. Je kunt enkele standaard yang-modellen bekijken @ openconfig / public

YANG (Yet Another Next Generation) is een taal voor gegevensdefinitie.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *