[unix] pts와 tty의 차이점

가능한 중복 :
‘터미널’, ‘쉘’, ‘tty’및 ‘콘솔’의 정확한 차이점은 무엇입니까?

who명령을 사용할 때 항상 pts와 tty가 표시 되지만 어떻게 다른지 이해하지 못합니까? 누군가 나에게 이것을 설명해 줄 수 있습니까?



답변

TTY는 네이티브 단말 장치, 백엔드 에뮬레이트 하드웨어 또는 커널 중입니다.

의 PTY (예 : (의사 단말 장치)가 다른 프로그램에 의해 모방하는 단말 장치 xterm, screen또는 ssh그러한 프로그램이다). 점은 a의 노예 부분입니다 PTY .

(자세한 정보는에서 찾을 수 있습니다 man pty.)

짧은 요약 :

PTY를 통한 방법에 의해 생성된다 posix_openpt()(일반적으로 특별한 장치를 개방 /dev/ptmx), 양방향 문자 디바이스들의 쌍으로 구성된다 :

  1. 이 호출을 통해이 프로세스에서 얻은 파일 디스크립터 인 마스터 부분은 터미널을 에뮬레이트하는 데 사용됩니다. 초기화 후 두 번째 파트는로 잠금 해제 할 수 있으며 unlockpt()마스터는이 두 번째 파트 (슬레이브)로 문자를 받거나 보내는 데 사용됩니다.

  2. 파일 시스템에 고정 된 슬레이브 부분 /dev/pts/x(실제 이름은 마스터를 통해 얻을 수 있음 ptsname())은 기본 터미널 장치 ( /dev/ttyx) 처럼 작동 합니다. 대부분의 경우 제어 터미널로 사용하는 쉘이 시작됩니다.


답변

A tty는 일반적인 터미널 장치입니다 (예 : 서버의 콘솔).
A pts는 유사 터미널 슬레이브 ( xterm또는 ssh연결)입니다.

man pts 의사 터미널에 대한 자세한 설명이 있습니다.


답변