问题
I launch a shell script from a remote Linux machine using paramiko. The shell script is launched and execute a command make -j8. However the exec_command returns before the completion of the make.
If I launch the script on the local machine it executes correctly.
Could someone explain me this behaviour ?
回答1:
You need to wait for application to finish, exec_command isn't a blocking call.
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"
来源:https://stackoverflow.com/questions/3215727/paramiko-ssh-exec-commandshell-script-returns-before-completion