最近接到一个需求,拿到一批IP列表做PING的操作,当然可以利用fping,自己也用多线程写了一个,还不错,6w条IP在15分钟内PING完,记录一下代码吧。

#!/usr/bin/python

import os,sys,time

import threading

import re

import subprocess

lifeline = re.compile(r"[0-9]+\.\d*")

deadline = re.compile(r"100% packet loss")

def ping(ip):

pingaling = subprocess.Popen(["ping","-q", "-c 3", ip], shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE)

while 1:

pingaling.stdout.flush()

line = pingaling.stdout.readline()

tmp=re.sub(ip,"",line)

if not line: break

igot = re.findall(lifeline,tmp)

deadping = re.findall(deadline,tmp)

if len(igot)==4:

#print ip,igot[2]

pingoutput=str(ip.strip())+','+str(igot[2])

if deadping:

#print ip,deadping

pingoutput=str(ip.strip())+','+'200000'

output = open('/home/abc/upload/ip_list.txt.output', 'a+')

output.write(pingoutput+'\n')

def main():

iplist=open("/home/abc/upload/ip_list.txt", "r")

print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

for i in iplist:

ip=i

while threading.activeCount()>300:

time.sleep(0.1)

t=threading.Thread(target=ping,args=([ip,]))

t.start()

print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

if __name__=='__main__':

main()

def python_multi(n)_Python:MultiPing.py相关推荐

  1. python 银行工作_Python:银行系统实战(一)

    最近突然抽筋想做一下大学时候做过的银行系统实战~ 代码就发在这里啦~ 学弟学妹们请查收~ 不过是python版本的,你们也用不上... 两个py文件,一个是后台系统处理的,一个是总控py 文件如下: ...

  2. python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?...

    如果您以这种方式修改了subtwo.py,那么它将起作用 import subone print subone.a 当你在subtwo.py中执行subone.a时,你试图访问subtwo.py和命名 ...

  3. scrapy框架_Python:Scrapy框架

    " Scrapy是一个适用爬取网站数据.提取结构性数据的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中.通常我们可以很简单的通 ...

  4. python异步处理请求_python:tornado+wsgi异步处理请求

    tornado版本: start_app.py # coding:gbk import tornado.web import tornado.wsgi import wsgiref.simple_se ...

  5. MXNet的训练基础脚本:base_module.py

    写在前面:在MXNet中有一个很重要的脚本:base_module.py,这个脚本中的BaseModule类定义了和模型实现相关的框架.另外还有一个脚本module.py会在另外一篇博客中讲,这个类继 ...

  6. Python参数校验工具:validate.py

    一直都在找一个比较好用的参数校验工具包(Python),这次终于找到了就做个记录. 包名:validate.py 安装方式:(pip已收入, 当前最新版本是1.3.0) pip install val ...

  7. python pygame小游戏_python:利用pygame实现消消乐小游戏

    消消乐记分小游戏GUI界面 文件结构规划 定义config.py文件存储相关参数:包括界面的宽高,整个方格行列个数,总格数等等. 定义utils.py文件用于存放基础的类和函数:包括整个消除拼图类,游 ...

  8. python黑科技库:FuckIt.py,让你代码从此远离bug

    今天给你推荐的这个库叫 "FuckIt.py",名字一看就是很黄很暴力的那种,作者是这样介绍它的: FuckIt.py uses state-of-the-art technolo ...

  9. python 文件状态_Python:如何访问文件的状态

    一.案例:在某些项目中,需要获取文件的状态 文件状态:os.stat(path) 1.文件的类型:普通文件.目录.符号链接.设备文件或管道(一般在Linux上)... 2.文件的访问权限:一般为读.写 ...

最新文章

  1. iOS引入第三发库引发的错误linker command failed with exit code 1
  2. Windows App开发之集合控件与数据绑定
  3. 保驾护航金三银四,妈妈再也不用担心我找工作了!
  4. ACM/ICPC 之 四道MST-Prim解法(POJ1258-POJ1751-POJ2349-POJ3026)
  5. 铺磁砖,给定M*N的格子,用u*v的瓷砖去铺满,有多少种铺法
  6. 酒店房间登记与计费管理系统《c语言课程设计》 文库,C语言课程设计--酒店房间登记与计费管理系统程序代码...
  7. 博途v16tia项目服务器,博途V16与scout TIA
  8. 浅谈压缩感知(二十二):压缩感知重构算法之正则化正交匹配追踪(ROMP)
  9. Fiddler自动保存抓包内容到文件
  10. CMU 15-213 Introduction to Computer Systems学习笔记(10) The Memory Hierarchy
  11. 使用冷门装机助手/流氓软件导致被捆绑安装各种奇奇怪怪软件的问题
  12. Unity 移动的几种方法(从某一点移动到另外一点)
  13. 写在博客文章后,关于为什么要写博客,特此提醒自己。
  14. 2022-01-08:数组中只有0和1,每过1代,0旁边只有1个1,当前0会变成1。每过1代,0旁边有2个1,当前0还是0。 比如10001,经过1代,会变成11011,再过1代,还是11011 。
  15. 基于hi3531压缩YUV-D1 H264(sample_enc例子改写)
  16. So Easy! HDU - 4565(构造共轭+矩阵快速幂)
  17. (萌新的数电学习)用 VHDL语言设计一个异或门
  18. STM32F103--CRL,CRH寄存器
  19. 计算机学院 运动会稿,强健体魄,英姿飒爽——计算机学院举办师生迷你运动会...
  20. 2018年5月下6月初 IT 技术类 招聘应聘情况.

热门文章

  1. java课程报告答辩_Java课程设计答辩之感想
  2. 平面上的点——Point类 (VI)
  3. gitbook 插件 SEO
  4. python数据工程师养成(1)--小说字频统计
  5. 上网行为管理功能概述及实现
  6. OSChina 周六乱弹 —— 这么漂亮的屎一定要拉到自己家里
  7. springboot配置日志文件报错:
  8. JC24B 2.4G无线模块配置
  9. java中输出日历_Java打印日历表
  10. AE特效 动态拼贴实现及分析