python 多线程ping 2秒ping完500个ip地址
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,使用模块queue 队列控制访问全局变量suprocess 创建子进程生成多个shell此脚本可用于网络割接改造时 判断各个设备的网络连通性,ip地址和设备名字均从企业配置库读取。利用队列控制变量读取
千家信息网最后更新 2025年02月09日python 多线程ping 2秒ping完500个ip地址
使用模块queue 队列控制访问全局变量
suprocess 创建子进程生成多个shell
此脚本可用于网络割接改造时 判断各个设备的网络连通性,ip地址和设备名字均从企业配置库读取。利用队列控制变量读取。2秒之内快速ping完
#!/usr/bin/python#-*- coding: utf-8 -*- from threading import Threadimport subprocessfrom Queue import Queueimport pymysqlnum_threads=10q=Queue()def pingme(i,queue): while True: ip=queue.get() ret=subprocess.call('ping -c 1 %s' % ip[0],shell=True,stdout=open('/dev/null','w'),stderr=subprocess.STDOUT) #[接受变量字符串为命令,ping发送一个ICMP请求,并且将标准输出重定向到/dev/null,相当于丢弃,并且将标准错误输出重新定向到标准输出。 这条语句返回其实就是ping值,就是python程序先创建shell进程,shell创建ping进程,ping进程运行返回值被shell等待,shell返回值给 python程序wait,如果成功则为0.] if ret==0: print '%s-%s is up!' %(ip[1],ip[0]) elif ret==1: print '%s is down...'%(ip[1],ip[0]) queue.task_done()#start num_threads threads for i in range(num_threads): t=Thread(target=pingme,args=(i,q))#多线程调用 t.setDaemon(True) #设置守护线程 t.start()db = pymysql.connect( host="10.50.99.247", user="network", passwd="xxxx", port=3306, db="network", charset='utf8')cursor = db.cursor()cursor.execute("select ipadd,name from net_dev where `group` like 'xxx%' ")data = cursor.fetchall()for i in data: q.put(i) #上传列表q.join();print '完成'~
批量测试脚本
进程
变量
标准
输出
线程
就是
程序
网络
脚本
设备
队列
控制
地址
成功
企业
全局
名字
命令
多个
字符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
携程网软件开发工作
ssr服务器配置文件
基于mvc的软件开发
戴尔服务器不用按f
在什么网站上找人做软件开发
怎么请网络技术人员到家里来
自建服务器如何使用bgp
挖财网络技术有限公司号码
软件开发 工作包分解
网络安全2017年
联想台式服务器能换系统吗
物联网网络安全协议
怎样登录惠普服务器管理口
甘肃天水网络安全宣传活动
负载均衡器算网络安全设备
数据库管理系统框架结构
湖南人文科技大学互联网直播大赛
当今中国网络技术的发展
但斌谈互联网科技
捷而达网络技术
像素精灵加载服务器失败
华为服务器升级cpu
网站服务器的作用
软件开发成本如何结转
收藏图书最全都的数据库
测试软件开发工程师做什么
网络安全大赛cps
滨州机械管理软件开发公司
网络安全趣味知识竞赛题库
mfc sql数据库操作