python 多线程ping 2秒ping完500个ip地址
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,使用模块queue 队列控制访问全局变量suprocess 创建子进程生成多个shell此脚本可用于网络割接改造时 判断各个设备的网络连通性,ip地址和设备名字均从企业配置库读取。利用队列控制变量读取
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
忻州软件开发定做
云服务器可以当电脑用么
简单的网络安全宣传手抄报
数据库二次开源
中望服务器设置
可来软件开发有限公司怎么样
smtp服务器是指
服务器后台没有运行请重新启动
网络安全教师征文
高速稳定美国服务器
海康流媒体管理服务器价格
关于定期更新放射源数据库的通知
mysql连接数据库配置
博兴染整软件开发咨询
常州微观网络技术有限公司
魅族网络安全法
乐亭电子网络技术答疑解惑
正规软件开发培训机构
华为运动健康一直加载数据库
九台区网络技术咨询排名靠前
全国网络安全教育日学习心得
手机服务器故障电话是啥
smtp服务器是指
数据库下单存储过程
无锡品牌网络技术市场价格
开源大数据网络安全监控
学网络安全类吗
磅房服务器
主从数据库创建角色授权
网络安全法.txt