Best answer
SIGPIPE는 읽기 끝이있는 파이프에 쓰려고 할 때 프로세스로 전송되는 “깨진 파이프”신호입니다. 닫히지 만 (또는 더 이상 읽기 위해 열려 있지 않은 소켓에 쓰려고 할 때) 반대 는 아닙니다. 기본 작업은 프로세스를 종료하는 것입니다.
이 동작은 파이프 라인에서 프로세스를 실행하는 일반적인 경우에 유용합니다. foo | bar
를 실행하면 foo
의 출력을 직접 볼 수 없습니다. 이는 bar
그러면 bar
의 출력이 표시됩니다. 즉, 예를 들어 bar
가 죽으면 foo
에 계속해서 출력을 생성 할 지점이 없습니다. 이는 bar
가 실패했거나 더 이상 입력이 필요하지 않기 때문에 발생할 수 있습니다 (예를 들어 오류가 없는지 확인하기 위해 입력을 스캔하는 경우 검색 후 중지 할 수 있음). 첫 번째).
SIGPIPE가 존재하지 않고 bar
가 죽었을 경우 어떻게 될지 상상해보십시오 (오류로 인해 또는 단순히 종료하기로 결정했기 때문에 ). foo
는 계속 실행되며 쓰기를 시도 할 때 오류 코드를 수신해야합니다. 이를 무시하고 계속 실행하여 bar
가 먼저 종료되는 비정상적인 조건이 발생했다는 명백한 표시를 사용자에게 남기지 않을 수 있습니다. foo
가 SIGPIPE에 의해 종료되면 쉘은 wait()
함수 중 하나를 사용하여이를 감지하고 “Broken pipe”메시지를 인쇄합니다. 유사합니다.
반면에 foo
가 먼저 죽으면 이것은 일반적인 경우입니다. 쓰기 끝을 닫은 다음 bar
는 단순히 EOF에 도달하고 정상적으로 종료됩니다.
Answer
OpenConfig는 구성 및 관리를위한 업계 표준 YANG 모델은 기본적으로 네트워킹 하드웨어 및 소프트웨어 플랫폼에서 지원됩니다.
네트워크 운영자가 다중 공급 업체 배포를위한 자동화 된 프레임 워크를 유지하는 데 비용이 매우 많이 듭니다.
표준 전송 인터페이스가 많지만 표준 데이터 표현은 없지만 (예 : 공급 업체 A와 공급 업체 B는 표준 인터페이스 (예 : XML, REST, NETCONF …)를 지원할 수 있지만 데이터 키-값 공급 업체 -A는 인터페이스 키를 “intf”로 나타내고 공급 업체 -B는 인터페이스 키를 “인터페이스”로 나타낼 수 있습니다.)
따라서 Network-Operator가 새 항목을 추가 / 업데이트 할 때마다 다른 공급 업체의 장치를 배포하는 경우 자동화 된 프레임 워크를 업데이트하고 공급 업체별 fic 데이터 표현을 고객 데이터 표현으로.
Google, AT & T, BT, Microsoft …와 같은 일부 네트워크 운영자는 이러한 변환기를 공급 업체에 제공하기 위해 노력하고 있습니다. 운영자는 데이터를 얻는 방법에 신경 쓰지 않지만 도구가 데이터를 쉽게 이해하고 파싱 할 수 있도록 공통 표현의 데이터가 필요합니다.
YANG 모델은 이러한 표준 데이터 모델을 정의하는 데 사용됩니다. 몇 가지 표준 양 모델을 볼 수 있습니다. @ openconfig / public
YANG (Yet Another Next Generation)은 데이터 정의 언어입니다.