#!/usr/bin/python

#_*_coding:utf-8_*_

#

'''

名称:快速多线程ping程序

'''

import pexpect

import datetime

from threading import Thread

host=["192.168.1.1","192.168.1.123","192.168.2.1",

"192.168.1.1","192.168.1.123","192.168.2.1",

"192.168.1.1","192.168.1.123","192.168.2.1",

"192.168.1.1","192.168.1.123","192.168.2.1",

"192.168.1.1"]

report_ok=[]

report_error=[]

class PING(Thread):

def __init__(self,ip):

Thread.__init__(self)

self.ip=ip

def run(self):

Curtime = datetime.datetime.now()

#Scrtime = Curtime + datetime.timedelta(0,minute,0)

#print("[%s]主机[%s]" % (Curtime,self.ip))

ping=pexpect.spawn("ping -c1 %s" % (self.ip))

check=ping.expect([pexpect.TIMEOUT,"1 packets transmitted, 1 received, 0% packet loss"],2)

if check == 0:

print("[%s] 超时 %s" % (Curtime,self.ip))

elif check == 1:

print ("[%s] %s 可达" % (Curtime,self.ip))

else:

print("[%s] 主机%s 不可达" % (Curtime,self.ip))

#多线程同时执行

T_thread=[]

for i in host:

t=PING(i)

T_thread.append(t)

for i in range(len(T_thread)):

T_thread[i].start()

#

#print ("\n=========问题主机情况如下==========\n")

#output(report_error)

#print ("\n=========正常主机情况如下==========\n")

#output(report_ok)

执行结果:

administrator@nagios:/win/pexpect$ ./ping.py

[2014-04-25 21:30:22.126981] 192.168.1.1 可达

[2014-04-25 21:30:22.148376] 192.168.1.1 可达

[2014-04-25 21:30:22.179846] 192.168.1.1 可达

[2014-04-25 21:30:22.203691] 192.168.1.1 可达

[2014-04-25 21:30:22.227696] 192.168.2.1 可达

[2014-04-25 21:30:22.134049] 超时 192.168.1.123

[2014-04-25 21:30:22.145610] 超时 192.168.2.1

[2014-04-25 21:30:22.157558] 超时 192.168.1.123

[2014-04-25 21:30:22.167898] 超时 192.168.2.1

[2014-04-25 21:30:22.197572] 超时 192.168.1.123

[2014-04-25 21:30:22.202430] 超时 192.168.2.1

[2014-04-25 21:30:22.215561] 超时 192.168.1.123

[2014-04-25 21:30:22.229952] 超时 192.168.1.1

python 多线程ping_Python快速多线程ping实现相关推荐

  1. python 多线程ping_python实现 多线程ping扫描网段中的在线主机

    近日因为施工单位进度太慢,导致工期超出预估.领导对此比较重视,让我有空就要看一下完成的进度并汇报.我首先想到的是使用ping命令,但是手工ping了几个,然后就干不下去了(太累了).这个必须要自动化进 ...

  2. 2021-03-10 Python多线程爬虫快速批量下载图片

    Python多线程爬虫快速批量下载图片 1.完成这个需要导入的模块 urllib,random,queue(队列),threading,time,os,json 第三方模块的安装 键盘win+R,输入 ...

  3. python并发编程之多线程理论部分

    阅读目录 一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) ...

  4. python paramiko并发_使用Python paramiko模块利用多线程实现ssh并发执行操作

    1.paramiko概述 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography). 有了Paramiko以 ...

  5. Python使用threading实现多线程

    Python使用threading实现多线程 Python中多任务的实现可以使用进程,也可以使用线程. 一.线程介绍 进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配资 ...

  6. 『python爬虫』16. 多线程与多进程(保姆级图文)

    目录 多线程 1. 什么是多线程? 2. 串行模式 3. 多线程 3.1 多线程方法写法 3.2 多线程方法带参数 3.3 多线程类写法 多进程 1. 什么是多进程 欢迎关注 『python爬虫』 专 ...

  7. Python 多进程开发与多线程开发

    我们先来了解什么是进程? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程 ...

  8. 一行 Python 实现并行化 -- 日常多线程操作的新思路 - 左手键盘,右手书 - SegmentFault...

    一行 Python 实现并行化 -- 日常多线程操作的新思路 - 左手键盘,右手书 - SegmentFault

  9. [python学习] 专题八.多线程编程之thread和threading

    就个人而言,学了这么多年的课程又写了这么多年的程序,虽然没有涉及到企业级的项目,但还是体会到了有几个知识点是非常重要的,包括:面向对象的思想.如何架构一个项目.设计模式来具体解决问题.应用机器学习和深 ...

  10. delphi 多个线程 多个进度条_多线程有哪些优点?- Python每日3题(多线程专题)

    这里是Python7编程挑战-多线程专题! 每天学习3个问题,包括初级,中级,高级问题各1个. 今天是第2天!一起来呀,就7天! 每日3题是麦叔的面试系列专题之一,每天包括初级,中级,高级难度题目各一 ...

最新文章

  1. 敏捷之父Martin Fowler作序推荐《演进式架构》
  2. solidity智能合约开发简介
  3. Google发布Android Studio 1.0
  4. php 计算月,PHP自然月的算法
  5. 动态规划在求解硬币问题中的应用(JAVA)--币制最大化、找零问题、硬币收集问题
  6. MHA命令系统介绍--masterha_manager
  7. Visual Studio 中 Tab 转换为空格的设置
  8. 第三周课程总结&实验报告一
  9. Unity TextMeshPro显示中文
  10. solidity教程-简介
  11. 极路由2hc5761刷华硕固件_极路由3华硕固件下载-极路由3 Pro刷华硕固件官方完整版【附升级工具及教程】-东坡下载...
  12. C# Spire操作Word文档生成PDF或JPG格式
  13. 安装CommonAPI
  14. 人工智能的目标与进化
  15. 【20220318】执行脚本提示killed
  16. 从零开始实现mini-min网易云音乐(一)
  17. Unity地图分割组合时出现接缝的处理办法
  18. CMA认证与CNAS认可的八大区别,你知道几个?
  19. 以下未发布-Android的多线程以及异步消息处理机制,android移动开发基础案例教程源码
  20. 【Lombok】@Log | 如何优雅的进行日志记录

热门文章

  1. 排序(二分插入排序)
  2. ADMM算法求解一个简单的例子
  3. RS232 RS422 RS485通讯原理
  4. excel中把汉字转换成拼音(只取首字母)
  5. VBA Mid()函数 截取字符串 - VBA函数学习笔记(一)
  6. 用拉普拉斯变换求零状态响应_什么是UPS?为什么用UPS?关于UPS电源的知识都在这里!...
  7. 自制全铝CNC雕刻机全过程(完工篇)
  8. Java的第20年:Java和我的故事
  9. 23个适合logo设计的常用英文字体
  10. 实用干货秘籍!最经典的10个Pandas数据查询案例,收藏!