2014-07-18 2 views
0

저는 Node를 사용하여 Python 스크립트를 실행하고 있습니다. 파이썬 스크립트 SSH가 서버에 들어간 다음 돼지 작업을 실행합니다. 돼지 작업에서 표준을 가져 와서 브라우저에 표시하고 싶습니다.SSH를 통해 파일에 버퍼링되지 않은 stdout 쓰기 및 읽기

SSH 호출을하기 위해 PExpect 라이브러리를 사용하고 있지만 완전히 완료 될 때까지 돼지 호출의 출력을 인쇄하지 않습니다. 그것을 재구성하는 방법에 대한 조언?

child.sendline(command) 
child.expect(COMMAND_PROMPT) 
print(child.before) 

는 내가 명령 프롬프트 (프로세스가 종료 경우에만 표시됩니다 원인을) 기대하지 말아야 알고 있지만, 나는 내가 기대해야 모르겠어요. 이 문제를 해결하기 때문에

+0

'child.logfile_read'를 쓰기 가능 파일과 같은 객체 (예 :'sys.stdout')로 설정하면 Pexpect는 그 파일을 읽을 때 그곳으로 출력을 전달합니다. –

+0

이것은 완벽하게 작동했습니다. 쉽게 알 수 없었습니다. 감사합니다. – jjwon

답변

1

, 답변으로 내 의견을 반복 : 그것을 읽는 당신이 쓰기 가능한 파일 - 류의 객체 (예를 들어, sys.stdout)에 child.logfile_read를 설정하면

을 Pexpect는이 출력을 전달합니다.

관련 문제