2010-07-27 10 views

답변

3

아마도 그렇지만 하위 터미널에서 사용자 지정 프로세스를 실행하는 것이 더 쉽습니다.

gnome-terminal -e "python ./sserv.py" 

행복하게 당신과 함께 포트 9999에 채팅 것입니다 예를 들어, example server in the documentation에서 명령을 sserv.py을 제공. 더 복잡한 sserv.py이 주어지면 원하는 모든 작업을 수행 할 수 있습니다.

+0

+1 : 깔끔함. 완전한. 단순한. –

2

나는 PExpect 당신을 위해이 작업을 수행 할 수 있다고 생각 :

Pexpect는 기본적으로 패턴 매칭 시스템입니다. 그것은 프로그램을 실행하고 시계 출력. 출력이 주어진 패턴과 일치하면 사람이 응답을 입력하는 경우 Pexpect는 으로 응답 할 수 있습니다. Pexpect는 자동화, 테스트 및 화면 스크래핑에 사용할 수 있습니다. Pexpect 는 또한 lynx, w3m, 또는 다른 텍스트 기반 웹 브라우저를 통해 웹 응용 프로그램을 제어하는 ​​데 사용 될 수 등 SSH, FTP, passwd를, 텔넷, 같은 대화 형 콘솔 응용 프로그램을 자동화하는 데 사용할 수 있습니다. Pexpect는 순수 Python입니다. 다른 Expect와 비슷한 Python 용 모듈 Pexpect는 에 TCL 또는 Expect를 요구하지 않으며 은 C 확장을 컴파일해야하지 않습니다. 이 표준 파이썬 pty 모듈을 지원하는 모든 플랫폼에서 작동해야합니다.

+0

당신의 대답은 * reading *을 위해 일하지만 * writing *을 위해서는 작동하지 않습니다. – Arafangion

+1

@Arafangion 실제로 PExpect _DOES_ 지원 작성, 그리고 잘 않습니다. PAM 패스워드 입력에도 쓸 수 있습니다. 보통 PAM 패스워드 입력은 보통 표준 입력으로는 작동하지 않습니다. Pexpect가 tty 장치를 모방합니다. –

+0

http://pexpect.svn.sourceforge.net/viewvc/pexpect/trunk/pexpect/examples/monitor.py?revision=498&view=markup의 child.sendline()은 어떻게됩니까? –