![Linux의 터미널은 실제로 어떻게 작동합니까?](https://rvso.com/image/192229/Linux%EC%9D%98%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%80%20%EC%8B%A4%EC%A0%9C%EB%A1%9C%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20.png)
나는 수년 동안 Linux 콘솔을 사용하고 있지만 현재는 그것이 실제로 어떻게 작동하는지 생각하기 시작했습니다. a를 command
문자열로 입력 하고 키를 누르면 Enter
동일한 터미널 창에 출력이 반환됩니다.
새 터미널 창을 열고 실행하면 tty
다음 결과가 표시됩니다.
$ tty
/dev/pts/10
pty의 매뉴얼 페이지다음을 정의합니다.
터미널에 연결될 것으로 예상되는 프로세스는 의사 터미널의 슬레이브 쪽을 열 수 있으며 마스터 쪽을 연 프로그램에 의해 구동될 수 있습니다. 마스터 측에 기록된 모든 내용은 마치 터미널에 입력된 것처럼 슬레이브 측의 프로세스에 제공됩니다.[...]반대로, 의사 터미널의 슬레이브 끝에 기록된 모든 내용은 마스터 끝에 연결된 프로세스에서 읽을 수 있습니다.
내 이해:
실제 터미널 창은 슬레이브에 연결되어 /dev/pts/10
있으며 터미널 창에 입력한 모든 입력은 슬레이브 끝에 기록된 다음 마스터 끝에서 읽혀집니다. 마스터 측에 연결된 프로세스는 사용자 유형의 모든 문자열로 수행할 작업을 알고 이를 실행하고 마스터 측에 명령 결과를 작성한 다음 슬레이브 측에서 읽고 터미널 창에 표시합니다.
질문:
사용자가 문자열로 입력하는 명령을 실행하는 방법을 아는 마스터 엔드에 연결된 프로세스는 무엇입니까?