stdout에 쓸 때 mc 명령이 --version 매개변수와 함께 중단되지만 cat?으로 파이핑할 때는 작동합니다.

stdout에 쓸 때 mc 명령이 --version 매개변수와 함께 중단되지만 cat?으로 파이핑할 때는 작동합니다.

mc명령줄에서 유틸리티 바이너리(실제로는 최신 버전의 minio 클라이언트)를 실행할 때 이상한 동작이 관찰되었습니다.

이렇게 실행하면 ./mc --version명령이 영원히 중단됩니다. CTRL-C조차도 나를 내보내지 않을 것입니다.

내가 ./mc --version | cat그런 식으로 실행 하면 ./mc --version | less출력이 제대로 표시되도록 할 수 있습니다.

strace ./mc --version실행하면 Stops at의 출력을 볼 수 있습니다 .stracewrite(1, "...")

이 행동에 어떤 문제가 있을 수 있나요? 어떻게 더 디버깅할 수 있나요?

나는 이것이 그 자체로는 아무 관련이 없고 mc우리가 바이너리를 실행하는 환경과 관련이 있다고 확신합니다.

cat더 이상한 점은 배관 이나 그와 유사한 것이 없이 몇 주 또는 몇 달 전에는 이것이 작동했다고 확신한다는 것입니다 .

관련 정보