Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Paramiko SSH exec_command (скрипт оболочки) возвращается до завершения

Автор вопроса: LarryОтветов: 1

Я запускаю сценарий оболочки с удаленной машины Linux с помощью Paramiko. Сценарий оболочки запускается и выполняет команду make -j8. Однако exec_command возвращается до завершения make.

Если я запускаю скрипт на локальной машине, он выполняется правильно.

Может ли кто-нибудь объяснить мне такое поведение?

sshpythonparamiko

Ответы

Ответ 1 · рейтинг 28 · deft_code

Вам нужно дождаться завершения приложения, exec_command не является блокирующим вызовом.

print now(), "before call"
stdin, stdout, sterr = ssh.exec_command("sleep(10)")
print now(), "after call"
channel = stdout.channel
print now(), "before status"
status = channel.recv_exit_status()
print now(), "after status"

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы