python 多线程ping 2秒ping完500个ip地址
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,使用模块queue 队列控制访问全局变量suprocess 创建子进程生成多个shell此脚本可用于网络割接改造时 判断各个设备的网络连通性,ip地址和设备名字均从企业配置库读取。利用队列控制变量读取
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司
互联网扶贫科技
互联网科技金融公司
互联网科技公司官网
世界互联网领先科技成果
宜安科技 互联网金融
米客互联网科技
菲比寻常互联网科技
互联网科技咨询
海南购全球互联网科技
互联网科技寓意
随着互联网科技发展
贵州叶脉互联网科技有限公司所属行业
科技赋能视角下互联网保险发展
广东工业互联网大赛深圳学泰科技
互联网安防科技感
兰石爱特工业互联网科技分公司
马化腾互联网科技教学
众联互联网络科技
东风日产互联网科技公司叫什么
华服互联网科技靠谱吗
互联网金融公司科技
广州善班互联网科技
互联网科技论坛
语蝶互联网科技有限公司
哈尔滨屹滨互联网科技有限公司
互联网科技和信息
浙南科技城互联网大厦建设工程
中和天地互联网科技有限公司
亚光科技低轨卫星互联网