2 개의 스레드가있는 프로그램이 있습니다. 모든 스레드는 원격 호스트에 다른 명령을 보내고 출력을 파일로 경로 재 지정합니다. 스레드는 다른 원격 호스트를 사용합니다. 나는 pxssh와의 연결을 생성하고 'sendline'로 원격 호스트에 명령을 보내려고했습니다 내가 명령 (모든 호스트에 약 500 개 명령)의 고정 수를 보낼 수 있습니다고정 된 전송 명령 후 원격 호스트에서 명령을 얻을 수 없습니다.
s = pxssh.pxssh()
try:
s.login (ip, user, pswd)
except:
logging.error("login: error")
return
logging.debug("login: success")
s.sendline("ls/>> tmpfile.log")
s.prompt()
그 'sendline'정지 후 일. 연결은 정상이지만 원격 호스트에서 명령을받을 수 없습니다. 일부 리소스가 부족한 것처럼 보입니다. 어떻게 될 수 있습니까?
는 각 쓰기 사이에서 읽는 :이 문제를 해결하기 때문에 답변으로
각 글쓰기 사이를 들으십니까? 호스트가 출력물을 출력하고 있고 그것을 읽지 않는다면, 조만간 버퍼가 채워질 것이고 더 많은 것을 쓸 공간이 생길 때까지 차단 될 것입니다. –
도움을 주셔서 감사합니다. 작동합니다! 어떤 경우에는 출력을 읽지 않았고 버퍼가 가득 찼습니다 ... – sammy