세션의 각 프로세스는 세션이 연결된 터미널에서 입력을 받아 해당 터미널로 출력을 보냅니까?

세션의 각 프로세스는 세션이 연결된 터미널에서 입력을 받아 해당 터미널로 출력을 보냅니까?

이 튜토리얼의 내용은 다음과 같습니다.

각 세션은 터미널에 바인딩되며 세션의 프로세스는 터미널에서 입력을 받고 터미널로 출력을 보냅니다.

터미널에서 일부 프로그램(이 프로그램/프로세스는 터미널에 연결된 세션에 있음)을 열고 프로그램을 stdout파일로 리디렉션했기 때문에 이 설명이 잘못된 것 같습니다. 이제 프로그램은 출력을 터미널로 보내지 않습니다.

내가 맞나요?

답변1

이 명령문은 명목상의 상황을 올바르게 설명합니다. 터미널을 열고 해당 터미널의 자체 세션에서 쉘을 실행한 다음 쉘에서 더 많은 프로그램을 실행합니다. 이 진술이 일반적으로 부정확하다는 것은 맞습니다. 모든 프로세스는 세션 제어 터미널뿐만 아니라 어디에서나 출력을 보내고 입력을 받을 수 있습니다. 쉘 리디렉션은 프로세스의 표준 입력 또는 출력을 터미널이 아닌 다른 것으로 만드는 가장 일반적인 방법입니다.

튜토리얼이 모든 상황을 다룰 것이라고 기대하지 마십시오. 이런 경우에는 이해하기 어렵습니다.

관련 정보