0
패브릭을 사용 중이며 원격 시스템에서 일부 명령을 실행하려고합니다. 이 작업을 수행하는 Python 클라이언트를 작성했습니다.패브릭이 ssh 연결을 닫지 않습니다.
@task
@serial
def execute_command(timeout, command):
if timeout == -1:
return run(command, shell=False, pty=False, warn_only=True)
else:
return run(command, shell=False, pty=False, warn_only=True, timeout=int(timeout))
그것은 작업을 예약 않지만, 문제가 30 초 이상 정도 걸리는 일이있을 때마다, 그것은 execute_command 나오는 적이 있다는 것입니다. 타임 아웃도 작동하지 않습니다.
ss -t | less
을 수행하고 소켓 활동을 점검하면 해당 명령과 관련된 ssh 연결이 여전히 활성 상태입니다. 그리고 내가 죽일 때까지는 여전히 활동적입니다. 그것은 결코 스스로 죽지 않습니다.
아무도 도와 드릴 수 있습니까? 나는 그것이 나오기를 원하고 타임 아웃이 작동하기를 원한다.