Lib in stuck if the access to a remote directory is not possible (not existing dir)
deneb78it opened this issue · 1 comments
deneb78it commented
The scope of my code is to reach a remote server and remove logs from a directory. Before removing logs, I list the files with ls -l.
The same command works fine if the directory exists. It goes in stuck if the folder does not exits.
relevant code:
def remove_logs(self):
try:
self.channel.shell()
self.channel.write('ls -l /var/log/bbb/ \n')
size, data = self.channel.read()
output = output + 'logdir 2 before delete\n' + data.decode() + '\n'
self.channel.write('rm /var/log/bbb/FW* \n')
time.sleep(1)
self.channel.write('ls -l /var/log/bbb/ \n')
size, data = self.channel.read()
output = output + 'logdir 2 after delete\n' + data.decode() + '\n'
except:
return "command error"
return "command sent" + '\n' + output
For this server the folder /var/log/bbb/ does not exist. When I execute the code, it goes in stuck as it reaches the read instruction below.
self.channel.write('ls -l /var/log/bbb/ \n')
size, data = self.channel.read()
If I execute the command manually, this is the output:
ls -l /var/log/bbb/
ls: cannot access '/var/log/bbb/': No such file or directory
How can I fix? Thanks
pkittenis commented
Thanks for the interest.
Use parallel-ssh for high level clients based on this library.
The issue tracker is for issues with the code, not instructions on how to use.