응용 프로그램이 쓰기 위해 열려 있고 FIFO이고 무언가가 "수신 중"이라고 가정하고 응용 프로그램이 쓰기를 시도하면 응용 프로그램은 손상된 파이프 오류를 받게 됩니다. 괜찮아요, 하지만 알고 싶어요손잡이를 재사용할 우려가 있는 경우따라서 더 이상 존재하지 않는 핸들을 작성할 위험이 있습니다. 따라서 질문은 다음과 같습니다. 손상된 FIFO 핸들은 얼마나 내구성이 있습니까? FIFO의 다른 쪽 끝이 닫혔다는 것을 알기 전에 애플리케이션이 손상된 파이프 오류에 얼마나 오랫동안 의존할 수 있습니까? 아니면 핸들을 명시적으로 닫지 않는 한 애플리케이션 수명 동안 핸들이 재사용되지 않는다는 것이 보장됩니까?
답변1
close
파일 설명자는 닫힐 때까지( 또는 호출 dup2
또는 프로세스 종료 등을 통해) 열기 호출에 사용된 파일 또는 FIFO와 계속 연결됩니다 . 열린 파일 디스크립터에 해당하는 파일이나 FIFO가 삭제되더라도(예:이 문제) 동일한 이름의 다른 파일을 생성하더라도 파일 설명자가 열려 있는 한 원본 파일에 대한 I/O를 계속 수행할 수 있습니다. 또한 비활성으로 인해 FIFO가 닫히는 시간 초과가 없습니다.