도구 세트의 역사

도구 세트의 역사

curses우리는 백그라운드에서 .based 애플리케이션을 실행 하고 싶습니다 .

이러한 응용 프로그램은 로그 파일 및 기타 상황별 터미널 연결을 매핑하기 위해 curses내부적으로 사용할 현재 포트 이름을 사용하고 얻습니다 .tty

curses일부 테스트에서는 키보드를 읽지 못하는 애플리케이션의 입력을 알려진 pts유효한 키보드로 리디렉션하기만 하면 됩니다. 따라서 이를 위해 tty(또는 pseudo-tty)를 예약했기 때문에 백그라운드에서 실행될 수 있습니다.

ptstty를 에뮬레이션하거나 그런 자동 실행 목적을 유지하는 것이 가능합니까 ? 우리는 그것들을 활성화하기만 하면 됩니다 crontab.

답변1

도구 세트의 역사

그러한 최초의 도구는 Daniel J. Bernstein의 "pty" 패키지로, Rich Salz가 "Ginsu 칼"로 묘사했는데, Rich Salz는 1990년대 초에 nethacks를 속이기 위해 이 패키지를 썼습니다(sic!). "pty" 패키지의 버전 4는 1992년에 출시되었습니다 comp.sources.unix(Volume 25, Issues 127-135). World Wide Web에서는 여전히 찾을 수 있습니다. Paul Vixie는 당시에 이렇게 설명했습니다.

내가 뭐라고 말할 수 있니? 썰고, 깍둑썰기하고, 설거지하고, 개 산책시키는 일이죠. 이는 "그냥 작동합니다". 즉, 지침을 따르면 머리카락을 뽑거나 이를 갈거나 기타 표준 이식 활동 없이 작동하는 패키지를 얻을 수 있다는 의미입니다.

Bernstein은 나중에 "ptyget" 패키지를 사용하여 1999년 4월 7일 또는 그 이전에 이를 업데이트하여 다음과 같이 발표했습니다.

나는 새로운 pseudo-tty 할당자 ptyget을 조립했습니다. 알파 버전은 에서 사용할 수 있습니다 ftp://koobera.math.uic.edu/pub/software/ptyget-0.50.tar.gz. 가입하려면 ptyget 메일링 리스트가 있습니다. 로 빈 메시지를 보내세요 [email protected]. 나는 ptyget의 인터페이스를 처음부터 디자인했습니다. pty보다 모듈화되어 있습니다. 기본 pty 인터페이스는 이제 세 부분으로 나뉩니다.

  • ptyget: 새로운 pseudo-tty를 할당하고 이를 선택한 프로그램에 전달하는 작은 저수준 프로그램(패키지의 유일한 setuid 프로그램)
  • ptyspawn: 의사 터미널에서 하위 프로세스를 실행하고 하위 프로세스가 종료될 때까지 기다리고 중지 상황을 관찰하는 또 다른 작은 프로그램입니다.
  • ptyio: 데이터를 앞뒤로 이동하는 약간 더 큰 또 다른 프로그램

오래된 "Ginsu" 칼은 pty이제 "Ginsu ptybandage"로 표기됩니다 ptyget ptyio -t ptyspawn. 이는 네트워크 프로그램을 pseudo-tty에 연결하는 데 사용되었으며 이제는 "Ginsu" 로 pty -d표기됩니다 . 그리고 의 동의어입니다 . 세션 관리 기능을 별도의 패키지로 분리했습니다.ptyrunptyget ptyio ptyspawnnobufptyget ptyio -r ptyspawn -23x

별도의 패키지는 "sess" 패키지입니다.

덧붙여서, "ptyget"은 출판된 몇 안 되는 사례 중 하나인 Berstein의 아직 출시되지 않은 "재작업된" 빌드 시스템의 초기 버전을 보여주는 것으로 유명합니다. dependon그것은 분명한 신호이다 redo-ifchange.

사용 가능한 도구 세트

Dru Nelson은 "pty"와 "ptyget"의 버전 4를 출시했습니다.

Paul Jarc는 운영 체제가 더 이상 실제로 제공하지 않는 원래 버전에서 운영 체제별 의사 터미널 장치 ioctl을 처리하려고 시도하는 ptyget의 수정된 버전을 출시했습니다.

nosh 소스 패키지에는 Laurent Bercot의 도구와 nosh 패키지의 자체 의사 터미널 관리 명령을 사용하는 유사한 작업 ptybandange및 스크립트가 함께 제공됩니다.ptyrunexecline

몇 가지 예는 다음과 같습니다

ptybandageAIX의 Jurjgen Oskam암호 프롬프트에 대한 제어 터미널을 명시적으로 열고 읽는 프로그램에 이 문서의 입력을 제공합니다.

$ ptybandage dsmadmc <<EOF>uit.txt
요스캄
비밀번호
쿼리 세션
쿼리 프로세스
사직하다
EOF

ptyrunOpenBSD에서 Andy Bradford를 사용하는 Andy Bradforddaemontools 및 ucspi-tcp에서 bgplgsh대화형 라우터 제어 프로그램이 터미널과 통신하고 있다고 생각하면서 네트워크를 통해 액세스할 수 있도록 만듭니다.

#!/bin/sh
2>&1을 실행
envuidgid rviews tcpserver -vDRHl0 0 23 ptyrun /usr/bin/bgplgsh 실행

추가 읽기

관련 정보