Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 새로운 의사 터미널(PTY) 쌍을 여는 방법

Python에서 os.openpty() 함수를 사용하면 새로운 의사 터미널(pseudo-terminal) 쌍을 손쉽게 열 수 있습니다. 이 메서드는 마스터(master)와 슬레이브(slave) 양쪽 끝에 해당하는 두 개의 파일 디스크립터를 튜플 형태로 반환합니다.

os.openpty()란?

의사 터미널(PTY)은 실제 하드웨어 터미널 없이도 터미널처럼 동작하는 가상 장치입니다. os.openpty()는 이러한 PTY의 마스터 엔드와 슬레이브 엔드를 각각 나타내는 파일 디스크립터 쌍을 생성해 주며, 터미널 에뮬레이션이나 프로세스 간 입출력 제어가 필요한 프로그램에서 유용하게 활용됩니다.

예제 코드

다음과 같이 사용할 수 있습니다:

import os

# m은 pty(마스터), s는 tty(슬레이브)용 파일 디스크립터
m, s = os.openpty()
print(m)
print(s)

# 슬레이브 터미널의 이름 확인
tty_name = os.ttyname(s)
print(m)
print(tty_name)

실행 결과

위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다:

3
4
3
/dev/pty0

출력 결과 해석

- 첫 번째 값인 3은 마스터 엔드의 파일 디스크립터 번호입니다.
- 두 번째 값인 4는 슬레이브 엔드의 파일 디스크립터 번호입니다.
- os.ttyname() 함수를 호출하면 슬레이브 파일 디스크립터에 연결된 터미널 장치 이름(/dev/pty0)을 문자열로 얻을 수 있습니다.
- 참고로 반환되는 파일 디스크립터 번호와 장치 이름은 시스템 환경에 따라 달라질 수 있습니다.