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.