Подтвердить что ты не робот

Paramiko SSH exec_command (shell script) возвращается до завершения

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

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

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

4b9b3361

Ответ 1

Вам нужно дождаться завершения приложения, 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"