netstat命令和查看http连接状态详解
2013-05-03 17:29
281 查看
经过几天的学习,pexpect模块对于linux下运维脚本编写属实有用,下面写个脚本检验下学习效果。
#!/usr/bin/env python #coding=utf-8 #远程执行服务器上的脚本 import sys, time, os, multiprocessing try: import pexpect except ImportError: print """ You must install pexpect module """ sys.exit(1) addr_map = { 's1':('root@192.168.1.1', 'aaa'), 's2':('root@192.168.1.2', 'bbb'), } cmd_map = { 'four':"/usr/local/src/four.sh", 'five':"/usr/local/src/five.sh", } # 必须带1个参数 if len(sys.argv) != 2: #系统错误输出 print 'wrong!!!' sys.stderr.write("Usage: python %s cmd \n" % sys.argv[0]) raise SystemExit(1) try: cmd_key = sys.argv[1] print 'cmd_key: %s' % cmd_key cmd = cmd_map[cmd_key] print 'cmd: %s' % cmd except: sys.stderr.write("Usage: python %s cmd \n" % sys.argv[0]) print "cmd: four or five" raise SystemExit(1) ''' # #################################### # 定义函数,并将其作为单个进程 def runn(s): child = pexpect.spawn('ssh %s %s' % (addr_map[s][0],cmd_map[cmd_key])) index = child.expect(["(?i)password", pexpect.EOF, pexpect.TIMEOUT]) child.sendline(addr_map[s][1]) child.expect(pexpect.EOF) print child.before child.sendline("quit") for key in addr_map: p = multiprocessing.Process(target=runn, args=(key,)) p.start() ''' # ####################################### # 将进程定义为类 class ttt(multiprocessing.Process): def __init__(self,id): multiprocessing.Process.__init__(self) self.id = id print self.id def run(self): child = pexpect.spawn('ssh %s %s' % (addr_map[self.id][0],cmd_map[cmd_key])) index = child.expect(["(?i)passwd",pexpect.EOF,pexpect.TIMEOUT]) child.sendline(addr_map[self.id][1]) child.expect(pexpect.EOF) print child.before child.sendline("quit") for key in addr_map: p = ttt(key) p.start()
相关文章推荐
- netstat命令和查看http连接状态详解
- linux netstat命令参数及用法详解--查看网络连接详细状态命令
- 查看HTTP请求返回状态码对照表详解
- 查看http的并发请求数与其TCP连接状态
- 查看http并发请求数及其连接状态
- 查看HTTP请求返回状态码对照表详解
- 查看http的并发请求数及其TCP连接状态
- TCP连接状态详解 http://blog.csdn.net/mei922/article/details/4801858
- 查看http的并发请求数及其TCP连接状态
- 查看http的并发请求数及其TCP连接状态的linux命令
- netstat命令_Linux netstat 命令用法详解:查看Linux中网络系统状态信息
- Netstat命令详解 如何关闭TIME_WAIT连接 如何查看nginx的访问流量
- CentOS7下使用rmcli配置IP地址详解及网络连接状态查看工具和进程管理工具的使用
- 查看Apache并发请求数及其TCP连接状态(http://www.duyu.name/archives/62)
- netstat命令------查看网络连接状态
- Netstat命令详解 如何关闭TIME_WAIT连接 如何查看nginx的访问流量
- Netstat命令详解 如何关闭TIME_WAIT连接 如何查看nginx的访问流量
- 查看HTTP请求返回状态码对照表详解
- TCP连接的状态详解以及故障排查
- TCP连接状态详解及TIME_WAIT过多的解决方法