views:

154

answers:

1

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  A: 

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"
caspin