Python實(shí)現(xiàn)快速多線程ping的方法
本文實(shí)例講述了Python實(shí)現(xiàn)快速多線程ping的方法。分享給大家供大家參考。具體如下:
#!/usr/bin/python #_*_coding:utf-8_*_ # ''' 名稱:快速多線程ping程序 開發(fā):gyhong gyh9711 日期:20:51 2011-04-25 ''' 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]主機(jī)[%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] 超時(shí) %s" % (Curtime,self.ip)) elif check == 1: print ("[%s] %s 可達(dá)" % (Curtime,self.ip)) else: print("[%s] 主機(jī)%s 不可達(dá)" % (Curtime,self.ip)) #多線程同時(shí)執(zhí)行 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=========問題主機(jī)情況如下==========\n") #output(report_error) #print ("\n=========正常主機(jī)情況如下==========\n") #output(report_ok)
執(zhí)行結(jié)果:
administrator@nagios:/win/pexpect$ ./ping.py
[2011-04-25 21:30:22.126981] 192.168.1.1 可達(dá)
[2011-04-25 21:30:22.148376] 192.168.1.1 可達(dá)
[2011-04-25 21:30:22.179846] 192.168.1.1 可達(dá)
[2011-04-25 21:30:22.203691] 192.168.1.1 可達(dá)
[2011-04-25 21:30:22.227696] 192.168.2.1 可達(dá)
[2011-04-25 21:30:22.134049] 超時(shí) 192.168.1.123
[2011-04-25 21:30:22.145610] 超時(shí) 192.168.2.1
[2011-04-25 21:30:22.157558] 超時(shí) 192.168.1.123
[2011-04-25 21:30:22.167898] 超時(shí) 192.168.2.1
[2011-04-25 21:30:22.197572] 超時(shí) 192.168.1.123
[2011-04-25 21:30:22.202430] 超時(shí) 192.168.2.1
[2011-04-25 21:30:22.215561] 超時(shí) 192.168.1.123
[2011-04-25 21:30:22.229952] 超時(shí) 192.168.1.1
希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。
- python多線程threading.Lock鎖用法實(shí)例
- python多線程編程中的join函數(shù)使用心得
- Python中多線程thread與threading的實(shí)現(xiàn)方法
- 淺析Python中的多進(jìn)程與多線程的使用
- 理解python多線程(python多線程簡明教程)
- 基python實(shí)現(xiàn)多線程網(wǎng)頁爬蟲
- 淺析Python多線程下的變量問題
- Python多線程同步Lock、RLock、Semaphore、Event實(shí)例
- python獲取多線程及子線程的返回值
- Python實(shí)現(xiàn)簡單多線程任務(wù)隊(duì)列
- python多線程使用方法實(shí)例詳解
相關(guān)文章
基于python實(shí)現(xiàn)MUI區(qū)域滾動
這篇文章主要介紹的是python實(shí)現(xiàn)MUI區(qū)域滾動,MUI提供了區(qū)域滾動的組件,使用時(shí)遵循DOM結(jié)構(gòu)就可以,下面來看看文章具體的實(shí)現(xiàn)內(nèi)容,需要的朋友可以參考一下2021-11-11Python實(shí)現(xiàn)簡單的代理服務(wù)器
這篇文章主要介紹了Python實(shí)現(xiàn)簡單的代理服務(wù)器,可實(shí)現(xiàn)代理服務(wù)器基本的包轉(zhuǎn)發(fā)功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Python實(shí)現(xiàn)簡單的文本相似度分析操作詳解
這篇文章主要介紹了Python實(shí)現(xiàn)簡單的文本相似度分析操作,結(jié)合實(shí)例形式分析了Python基于分詞API庫jieba及文本相似度庫gensim針對文本進(jìn)行相似度分析操作的實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06python3個(gè)性簽名設(shè)計(jì)實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python3個(gè)性簽名設(shè)計(jì)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06基于Python實(shí)現(xiàn)主機(jī)遠(yuǎn)程控制
這篇文章主要介紹了基于Python實(shí)現(xiàn)主機(jī)遠(yuǎn)程控制,本文為?HITwh?網(wǎng)絡(luò)空間安全專業(yè)網(wǎng)絡(luò)空間安全設(shè)計(jì)與實(shí)踐選題,主要實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控局域網(wǎng)內(nèi)的主機(jī)桌面與網(wǎng)絡(luò)情況、簡單鍵鼠控制、遠(yuǎn)程斷網(wǎng)(ARP?攻擊)、數(shù)據(jù)加密傳輸?shù)裙δ埽旅鎭砜纯淳唧w實(shí)現(xiàn)過程吧2022-01-01python selenium 彈出框處理的實(shí)現(xiàn)
這篇文章主要介紹了python selenium 彈出框處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02基于Python實(shí)現(xiàn)二維圖像雙線性插值
雙線性插值,又稱為雙線性內(nèi)插。在數(shù)學(xué)上,雙線性插值是有兩個(gè)變量的插值函數(shù)的線性插值擴(kuò)展,其核心思想是在兩個(gè)方向分別進(jìn)行一次線性插值。本文將用Python實(shí)現(xiàn)二維圖像雙線性插值,感興趣的可以了解下2022-06-06