응답하지 않는 파일 설명자를 어떻게 시뮬레이션할 수 있나요?

응답하지 않는 파일 설명자를 어떻게 시뮬레이션할 수 있나요?

로그 파일에 쓰는 애플리케이션이 있습니다. prod 환경에서 로그 파일 디렉터리는 NAS에 매핑됩니다.

192.168.1.10:/storage/app/log 2554360832 11844608 2412762112   1% /usr/local/app/log

몇 번 NAS가 다운되어 로그 파일에 쓰려고 할 때 애플리케이션이 무기한 차단된다는 말을 들었습니다.

무슨 일이 일어났는지 확인하고 수정 사항을 테스트할 수 있도록 이를 재현해 보고 싶습니다. 하지만 우리 개발 환경에는 NAS가 없습니다.

파일 설명자가 응답하지 않게 하여 쓰기 시도가 무기한 차단되도록 하는 방법이 있습니까?

답변1

명명된 파이프를 생성하지만 읽기 위해 열지 마십시오.

$ mkfifo /tmp/test-fifo
$ echo a > /tmp/test-fifo

답변2

다른 쪽 끝에는 아무것도 없는 상태로 이 중 하나를 엽니다.

  • 명명된 파이프.
  • 익명 파이프.
  • 인터넷 소켓.
  • ...

로컬에서 서비스를 실행할 수도 있습니다. Docker에서(또는 컨테이너화나 가상화를 통해) 실행할 수도 있습니다. 다른 옵션에 어떤 차이점이 있는지 전혀 알 수 없으므로 이것이 선호됩니다.

관련 정보