python paramiko 多线程
2015-06-08 15:55
796 查看
Python paramiko多线程执行命令的脚本,加入了threading多线程,执行起来感觉效率很一般,有时候线程还会等待延迟。
据说别人测试的数据,Python多线程中每个时刻只有1个线程运行,每个逻辑CPU利用率都很低,只是有时候换换CPU运行。虽然不知道别人怎么观察的,不过执行起来确实慢,耗资源也比单线程高很多。
据说别人测试的数据,Python多线程中每个时刻只有1个线程运行,每个逻辑CPU利用率都很低,只是有时候换换CPU运行。虽然不知道别人怎么观察的,不过执行起来确实慢,耗资源也比单线程高很多。
#!/usr/bin/python # -*- coding: utf-8 -*- import paramiko,threading,sys class SSH_cmd(threading.Thread): hostname='' cmd='' username='' passwd='' port='' def run(self): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: ssh.connect(hostname=self.hostname,port=self.port,username=self.username,password=self.passwd,timeout=10) except Exception,e: print 'connnet to %s is timeout ' % self.hostname sys.exit() cmd=self.cmd stdin,stdout,stderr=ssh.exec_command(cmd) if not stdout: print '%s is OK' % self.hostname else: print stdout.read() def Init(): File=open('cmd.conf') Flist=[] for i in File.readlines(): if not i.strip(): continue Flist.append(i) print Flist return Flist File.close() if __name__=="__main__": A=Init() #excmd=raw_input('Enter your command:') #expasswd=raw_input('Enter your password:') for i in xrange(len(A)): cut=A[i].split() HOST=cut[0] CMD=SSH_cmd() CMD.hostname=HOST CMD.username=cut[1].strip() CMD.cmd=cut[4] CMD.port=int(cut[2]) CMD.passwd=cut[3].strip() CMD.start() 转载
相关文章推荐
- 2015-6-8-python正则表达式模块的使用
- pycharm开发python时出现控制台显示中文乱码
- python + selenium自动化测试之环境搭建
- Python字典小脚本
- python threading模块
- Python-类
- Python-高级特性
- Python--字典
- Python函数返回值实例分析
- python下MySQLdb用法实例分析
- 很多Python新手教程
- 在Java中调用Python
- Python赋值语句后逗号的作用分析
- Python 的MySQLConnector模块使用方法详解
- Python中逗号的三种作用实例分析
- Python 学习笔记1
- Python求两个正整数的最大公约数和最小公倍数
- python中pip的使用和安装
- Python--字符串
- csv的读取