Python检测网络延迟的代码

yipeiwu_com7年前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进程,多进程,获取进程id,给子进程传递参数操作示例

Python进程,多进程,获取进程id,给子进程传递参数操作示例

本文实例讲述了Python进程,多进程,获取进程id,给子进程传递参数操作。分享给大家供大家参考,具体如下: 线程与线程之间共享全局变量,进程之间不能共享全局变量。 进程与进程相互独立&...

python实现批量文件重命名

python实现批量文件重命名

本文实例为大家分享了python批量文件重命名的具体代码,供大家参考,具体内容如下 问题描述 最近遇到朋友求助,如何将大量文件名前面的某些字符删除。 即将图中文件前的编号删除。 P...

linux安装Python3.4.2的操作方法

1.python安装包下载路径:https://www.python.org/downloads/ 2我下载安装包路径:https://www.python.org/ftp/python...

解决pycharm的Python console不能调试当前程序的问题

使用python时,程序能运行,但是不能调试,找了半天解决方法,最后此操作分分钟奏效。 两种方法: 方法一:选中要运行的代码,右键Execute Selection in Console...

python数据清洗系列之字符串处理详解

python数据清洗系列之字符串处理详解

前言 数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节。有人说一个分析项目80%的时间都是在清洗数据,这听起来有些匪夷所思,但在实际的工作中确实如此。...