Paramiko SSH exec_command (shell script) возвращается до завершения
Я запускаю оболочку script с удаленной машины Linux с помощью paramiko. Запустится оболочка script и выполните команду make -j8. Однако exec_command возвращается до завершения make.
Если я запускаю script на локальном компьютере, он выполняется правильно.
Может ли кто-нибудь объяснить мне такое поведение?
Ответы
Ответ 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"