Cosa sono i SIGPIPE?


Risposta migliore

SIGPIPE è il segnale “tubo rotto”, che viene inviato a un processo quando tenta di scrivere su un tubo la cui estremità di lettura ha chiuso (o quando tenta di scrivere su un socket che non è più aperto per la lettura), ma non viceversa . Lazione predefinita è terminare il processo.

Questo comportamento è utile per i casi tipici di esecuzione di processi in pipeline. Se esegui foo | bar, non potrai mai vedere loutput di foo direttamente — diventa linput di bar e vedi loutput di bar. Ciò significa che se, ad esempio, bar muore, non ha senso foo continuare a produrre output. Ciò può accadere perché bar non è riuscito o perché non ha più bisogno di input (ad esempio, se sta analizzando il suo input per assicurarsi che non ci siano errori, può fermarsi dopo aver trovato il primo).

Immagina cosa succederebbe se SIGPIPE non esistesse e bar morisse (a causa di un errore o semplicemente perché ha deciso di uscire ). foo continuerebbe a funzionare e dovrebbe ricevere un codice di errore quando si tenta di scrivere. Potrebbe ignorarlo e continuare a funzionare, lasciando lutente senza alcuna indicazione evidente che si sia verificata la condizione forse anormale di bar terminata per prima. Quando foo viene ucciso da SIGPIPE, la shell lo rileverà utilizzando una delle funzioni wait() e stamperà un messaggio “tubo rotto” o simile.

Daltra parte, se foo muore per primo, questo è il solito caso; chiude la fine della scrittura, quindi bar raggiungerà semplicemente lEOF e terminerà normalmente.

Risposta

OpenConfig è una raccolta di modelli YANG standard del settore per la configurazione e la gestione che saranno supportati nativamente su piattaforme hardware e software di rete.

È diventato molto costoso per gli operatori di rete mantenere i propri framework automatizzati per distribuzioni multi-vendor.

Sebbene esistano molte interfacce di trasporto standard, non esistono rappresentazioni di dati standard (ad esempio, il fornitore A e il fornitore B potrebbero supportare interfacce standard (come XML, REST, NETCONF …), ma il valore-chiave dei dati non sono uguali. il fornitore-A potrebbe rappresentare la chiave dellinterfaccia come “intf” e il fornitore-B potrebbe rappresentare la chiave dellinterfaccia come “interfaccia”)

Quindi ogni volta che un operatore di rete aggiunge / aggiorna un nuovo dispositivo nelle loro distribuzioni da diversi fornitori, hanno bisogno di aggiornare il loro framework automatizzato e scrivere traduttore per convertire le specifiche del fornitore dalla rappresentazione dei dati fic alla rappresentazione dei dati dei clienti.

Alcuni operatori di rete come Google, AT&T, BT, Microsoft … stanno lavorando per inviare questi traduttori al fornitore. Agli operatori non interessa come ottengono i dati, ma necessitano di dati in una rappresentazione comune in modo che i loro strumenti possano comprendere e analizzare facilmente i dati.

Il modello YANG viene utilizzato per definire questi modelli di dati standard. Puoi guardare alcuni modelli yang standard @ openconfig / public

YANG (Yet Another Next Generation) è un linguaggio di definizione dei dati.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *