직렬 포트를 통해 연결된 하드웨어를 시뮬레이션하기 위해 터미널 장치를 만드는 방법을 알고 싶습니다. 기본적으로 tty 장치에는 두 프로세스 간에 읽고 쓸 수 있는 특정 전송 속도가 있습니다. 내가 아는 바로는 의사 터미널을 찾고 있는데, makedev
만드는 것이 가능한 것 같습니다.
또한 다음 지침 세트를 찾았습니다.
su to root
cd /dev
mkdir pty
mknod pty/m0 c 2 0
mknod pty/s0 c 3 0
ln -s pty/m0 ttyp0
ln -s pty/s0 ptyp0
chmod a+w pty/m0 pty/s0
의사 터미널을 만드는 더 좋은 방법이 있습니까? 아니면 이것이 쉘에서 의사 터미널을 만드는 표준 방법입니까?
답변1
이는 아마도 pty 장치 파일을 생성하는 방법이지만 pty가 필요할 때 이를 수행하고 싶지는 않을 것입니다. 특정 시스템에는 일반적으로 이미 생성된 pty 장치 파일의 보완이 있습니다.
의사 TTY는 OS에 따라 다르며 이를 수행하려는 대상에 대해 언급하지 않았습니다. 최신 Linux의 경우 openpty(3)
OpenSSH 소스 코드에서 작동하는 예제 코드를 찾을 수 있습니다.sshpty.c. pty_allocate()
완전히 이해하려면 호출된 코드를 찾아야 할 수도 있습니다 .