Melhor resposta
SIGPIPE é o sinal de “pipe interrompido”, que é enviado a um processo quando ele tenta gravar em um pipe cujo fim de leitura tem fechado (ou quando tenta escrever em um soquete que não está mais aberto para leitura), mas não vice-versa . A ação padrão é encerrar o processo.
Esse comportamento é útil para casos típicos de processos em execução em pipelines. Se você executar foo | bar
, nunca verá a saída de foo
diretamente — ela se torna a entrada de bar
e você vê a saída de bar
. Isso significa que se, por exemplo, bar
morrer, então não há razão para foo
continuar a produzir saída. Isso pode acontecer porque bar
falhou ou porque não precisa mais de entrada (por exemplo, se estiver verificando sua entrada para se certificar de que não há erros, pode parar após encontrar o primeiro).
Imagine o que aconteceria se o SIGPIPE não existisse e bar
morresse (seja devido a um erro ou simplesmente porque decidiu sair ) foo
continuaria em execução e receberia um código de erro ao tentar escrever. Ele pode ignorar isso e continuar a execução, deixando o usuário sem nenhuma indicação óbvia de que a condição possivelmente anormal de bar
encerrando ocorreu primeiro. Quando foo
for eliminado pelo SIGPIPE, o shell detectará isso usando uma das funções wait()
e imprimirá uma mensagem de “pipe quebrado” ou semelhante.
Por outro lado, se foo
morrer primeiro, esse é o caso usual; ele fecha o final da gravação e, em seguida, bar
simplesmente alcançará o EOF e terminará normalmente.
Resposta
OpenConfig é uma coleção de modelos YANG padrão da indústria para configuração e gerenciamento que terão suporte nativo em plataformas de hardware e software de rede.
Tornou-se muito caro para os operadores de rede manter suas estruturas automatizadas para implantações de vários fornecedores.
Embora haja muitas interfaces de transporte padrão, não há representação de dados padrão (por exemplo, vendor-A e vendor-B podem oferecer suporte a interfaces padrão (como XML, REST, NETCONF …), mas valor-chave de dados não são iguais. o fornecedor-A pode representar a chave da interface como “intf” e o fornecedor-B pode representar a chave da interface como “interface”)
Portanto, sempre que um operador de rede adiciona / atualiza um novo dispositivo em suas implantações de diferentes fornecedores, eles precisam atualizar sua estrutura automatizada e escrever tradutor para converter as especificações do fornecedor representação de dados fic para representação de dados do cliente.
Alguns operadores de rede como Google, AT&T, BT, Microsoft … estão trabalhando para enviar esses tradutores para o fornecedor. Os operadores não se importam como obtêm os dados, mas precisam de dados em uma representação comum para que suas ferramentas possam entender e analisar os dados facilmente.
O modelo YANG está sendo usado para definir esses modelos de dados padrão. Você pode ver alguns modelos yang padrão @ openconfig / public
YANG (Yet Another Next Generation) é uma linguagem de definição de dados.