명령에 따라 파이프 및 입력 리디렉션이 모두 완료되면 어떻게 되나요?

명령에 따라 파이프 및 입력 리디렉션이 모두 완료되면 어떻게 되나요?

명령용

echo 'from pipe'|(cat <<< 'from input redirect')  

출력은 다음과 같습니다

from input redirect

echo의 "from 파이프" 줄은 어떻게 되나요?

답변1

이는 출력 버퍼에서 사용되지 않은 상태로 유지되며 두 명령이 모두 종료되면 삭제됩니다.

왼쪽이 출력 버퍼를 채울 만큼 충분한 데이터를 생성하면 버퍼가 소비될 때까지 일시적으로 일시 중지됩니다. 여기서는 그런 일이 발생하지 않기 때문에 SIGPIPE올바른 명령이 종료되면 결국 신호를 받고 "깨진 파이프"로 인해 죽게 됩니다. 또한 SIGPIPE구체적으로 신호를 포착하고 정상적으로 종료할 수도 있습니다.

관련 정보