Napisałem prosty program do utworzenia połączenia SSH przez paramiko, a następnie wykonałem proste polecenie. Ale to zawsze zgłasza błąd wyjątek: -Wystąpił błąd wyjątku "Wyjątek w wątku Wątek 1 (najprawdopodobniej wywołany podczas zamykania interpretera)", który za pomocą Paramiko
Exception in thread Thread-1 (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 530, in __bootstrap_inner
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1574, in run : 'NoneType' object has no attribute 'error'
program, który napisałem jest w następujący sposób: -
class Session:
def __init__(self, ipaddr, username, password):
self.ipaddr = ipaddr
self.username = username
self.password = password
self.connect()
def connect(self):
try:
time.sleep(1)
self.ssh = paramiko.SSHClient()
self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
self.ssh.connect(self.ipaddr, username=self.username, password=self.password)
time.sleep(2)
except socket.error, e:
print e
self.ssh.close()
sys.exit()
except Exception, e:
print e
def executeCmd(self, cmd):
data = ""
try:
stdin, stdout, stderr = self.ssh.exec_command(cmd)
data = stdout.read()
except SSHException, e:
print "Error: ", e
errorMsg = "Error: %s" %traceback.format_exc()
print errorMsg
return data
def __del__(self):
self.ssh.close()
Jak rozwiązać ten wyjątek? Proszę pomóż.
Dzięki
Wydaje się, że jest to duplikat to pytanie: http://stackoverflow.com/questions/1745232/solving-thread-cleanup-on-paramiko ale tytuł to pytanie jest lepiej – ifischer
pokrewne błąd w Launchpad (nowe i nieprzypisane) tutaj: https://bugs.launchpad.net/paramiko/+bug/786808 – ifischer
Powiązany błąd w Pythonie Tracker: http://bugs.python.org/issue1722344, powiązany błąd w Paramiko-Github: https : //github.com/paramiko/paramiko/issues/17 – ifischer