Python检测网络延迟的代码

yipeiwu_com5年前Python基础

本文讲述了Python检测网络延迟的代码。分享给大家供大家参考,具体如下:

#!/usr/bin/env python 
# coding: utf-8 
# coding: cp950 
''''' 
Create Date: 2012-11-06 
Version: 1.0 
Description: Detection host survival 
Author: Victor 
QQ: 1409175531 
''' 
''''' Please run the script with root ''' 
import ping 
import sys 
def help(): 
 print ''''' 
Usage: 
%s <Dest_addr> <percent loss packages> <max round trip time> 
''' % (sys.argv[0]) 
try: 
 result = ping.quiet_ping(sys.argv[1], timeout=2, count=10, psize=64) 
 if int(result[0]) == 100: 
 print 'Critical - 宕机, 丢包率:%s%% | 报警阀值: >= %s%% 或 >=%s ms' % (result[0], int(sys.argv[2]), int(sys.argv[3])) 
 sys.exit(2) 
 else: 
 max_time = round(result[1], 2) 
 if int(result[0]) < int(sys.argv[2]) and int(result[1]) < int(sys.argv[3]): 
 print 'OK - 丢包率:%s%%, 最大响应时间:%s ms | 报警阀值: >= %s%% 或 >=%s ms' % (result[0], max_time, int(sys.argv[2]), int(sys.argv[3])) 
 sys.exit(0) 
 elif int(result[0]) >= int(sys.argv[2]) or int(result[1]) >= int(sys.argv[3]): 
 print 'Warning - 丢包率:%s%%, 最大响应时间:%s ms | 报警阀值: >= %s%% 或 >=%s ms' % (result[0], max_time, int(sys.argv[2]), int(sys.argv[3])) 
 sys.exit(1) 
 else: 
 print 'Unknown' 
 sys.exit(3) 
except IndexError: 
 help() 
 sys.exit(3) 

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python类和函数中使用静态变量的方法

本文实例讲述了python类和函数中使用静态变量的方法。分享给大家供大家参考。具体分析如下: 在python的类和函数(包括λ方法)中使用静态变量似乎是件不可能[Nothing is i...

Python生成密码库功能示例

本文实例讲述了Python生成密码库功能。分享给大家供大家参考,具体如下: 这个代码是将字符的所有组合添加到一个文件中,可以设置密码的最大长度,我这里设置的是8位,但是要有心里准备,生成...

python中web框架的自定义创建

一、什么是框架 框架的本质就是一个socket服务,可以完成不同主机之间的通信。它是一个半成品的项目,其中可能已经封装好了基本的功能,比如路由,模型,模板,视图功能都已完善,又可能它只封...

python僵尸进程产生的原因

在 unix 或 unix-like 的系统中,当一个子进程退出后,它就会变成一个僵尸进程,如果父进程没有通过 wait 系统调用来读取这个子进程的退出状态的话,这个子进程就会一直维持僵...

Python中使用asyncio 封装文件读写

前言 和网络 IO 一样,文件读写同样是一个费事的操作。 默认情况下,Python 使用的是系统的阻塞读写。这意味着在 asyncio 中如果调用了 f = file('xx'...