로그 파일에 쓰는 애플리케이션이 있습니다. 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에서(또는 컨테이너화 또는 가상화를 통해) 실행할 수도 있습니다. 이는 다른 옵션과의 차이점을 알 수 없기 때문에 선호됩니다.