명령을 사용할 때 항상 pts와 tty가 표시되지만 who
어떻게 다른지 이해가 되지 않습니다. 누구든지 이것을 설명할 수 있나요?
답변1
ㅏ단말기기본 터미널 장치이고 백엔드는 하드웨어 또는 커널을 에뮬레이션합니다.
ㅏ푸티xterm
(의사 터미널 장치)는 다른 프로그램(예: , screen
, 또는 기타 프로그램)에 의해 ssh
시뮬레이션된 터미널 장치 입니다. ㅏ가리키다의 하위 부분이다푸티.
(자세한 내용은 에서 확인하실 수 있습니다 man pty
.)
짧은 요약:
ㅏ푸티posix_openpt()
/dev/ptmx
한 쌍의 양방향 문자 장치로 구성된 프로세스(일반적으로 특수 장치를 열어)에 의해 생성됩니다 .
이 호출을 통해 프로세스에서 얻은 파일 디스크립터인 주요 부분은 터미널을 시뮬레이션하는 데 사용됩니다. 일부 초기화 후에 두 번째 부분의 잠금이 해제될 수
unlockpt()
있으며 마스터는 두 번째 부분(슬레이브)에 문자를 수신하거나 보내는 데 사용됩니다.슬레이브는 파일 시스템에 부분적으로 고정되어 있으며
/dev/pts/x
(실제 이름은 마스터에서 얻을 수 있음ptsname()
) 기본 터미널 장치(/dev/ttyx
)처럼 작동합니다. 대부분의 경우 쉘이 시작되어 제어 터미널로 사용됩니다.
답변2
A tty
는 일반 터미널 장치(예: 서버의 콘솔)입니다.
A는 pts
의사 터미널 슬레이브(하나 xterm
또는 하나의 ssh
연결)입니다.
man pts
의사 터미널에 대해 자세히 설명합니다.