2016-10-24 5 views
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, относящееся к этой команде, по-прежнему активно. И он остается активным, пока я не убью его. Он никогда не умирает сам по себе.

Можете ли вы кого-нибудь помочь мне с этим? Я хочу, чтобы он вышел, а также за время ожидания работы.

ответ

0

Выяснил это.

Когда я отключил опцию терминала psuedo в аргументах для запуска, я смог добиться того, чего хотел.

Смежные вопросы