python 多线程ping_Python快速多线程ping实现
#!/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实现相关推荐
- python 多线程ping_python实现 多线程ping扫描网段中的在线主机
近日因为施工单位进度太慢,导致工期超出预估.领导对此比较重视,让我有空就要看一下完成的进度并汇报.我首先想到的是使用ping命令,但是手工ping了几个,然后就干不下去了(太累了).这个必须要自动化进 ...
- 2021-03-10 Python多线程爬虫快速批量下载图片
Python多线程爬虫快速批量下载图片 1.完成这个需要导入的模块 urllib,random,queue(队列),threading,time,os,json 第三方模块的安装 键盘win+R,输入 ...
- python并发编程之多线程理论部分
阅读目录 一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) ...
- python paramiko并发_使用Python paramiko模块利用多线程实现ssh并发执行操作
1.paramiko概述 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography). 有了Paramiko以 ...
- Python使用threading实现多线程
Python使用threading实现多线程 Python中多任务的实现可以使用进程,也可以使用线程. 一.线程介绍 进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配资 ...
- 『python爬虫』16. 多线程与多进程(保姆级图文)
目录 多线程 1. 什么是多线程? 2. 串行模式 3. 多线程 3.1 多线程方法写法 3.2 多线程方法带参数 3.3 多线程类写法 多进程 1. 什么是多进程 欢迎关注 『python爬虫』 专 ...
- Python 多进程开发与多线程开发
我们先来了解什么是进程? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程 ...
- 一行 Python 实现并行化 -- 日常多线程操作的新思路 - 左手键盘,右手书 - SegmentFault...
一行 Python 实现并行化 -- 日常多线程操作的新思路 - 左手键盘,右手书 - SegmentFault
- [python学习] 专题八.多线程编程之thread和threading
就个人而言,学了这么多年的课程又写了这么多年的程序,虽然没有涉及到企业级的项目,但还是体会到了有几个知识点是非常重要的,包括:面向对象的思想.如何架构一个项目.设计模式来具体解决问题.应用机器学习和深 ...
- delphi 多个线程 多个进度条_多线程有哪些优点?- Python每日3题(多线程专题)
这里是Python7编程挑战-多线程专题! 每天学习3个问题,包括初级,中级,高级问题各1个. 今天是第2天!一起来呀,就7天! 每日3题是麦叔的面试系列专题之一,每天包括初级,中级,高级难度题目各一 ...
最新文章
- 敏捷之父Martin Fowler作序推荐《演进式架构》
- solidity智能合约开发简介
- Google发布Android Studio 1.0
- php 计算月,PHP自然月的算法
- 动态规划在求解硬币问题中的应用(JAVA)--币制最大化、找零问题、硬币收集问题
- MHA命令系统介绍--masterha_manager
- Visual Studio 中 Tab 转换为空格的设置
- 第三周课程总结&实验报告一
- Unity TextMeshPro显示中文
- solidity教程-简介
- 极路由2hc5761刷华硕固件_极路由3华硕固件下载-极路由3 Pro刷华硕固件官方完整版【附升级工具及教程】-东坡下载...
- C# Spire操作Word文档生成PDF或JPG格式
- 安装CommonAPI
- 人工智能的目标与进化
- 【20220318】执行脚本提示killed
- 从零开始实现mini-min网易云音乐(一)
- Unity地图分割组合时出现接缝的处理办法
- CMA认证与CNAS认可的八大区别,你知道几个?
- 以下未发布-Android的多线程以及异步消息处理机制,android移动开发基础案例教程源码
- 【Lombok】@Log | 如何优雅的进行日志记录