亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python檢測服務(wù)器是否正常

 更新時間:2014年02月16日 09:53:45   作者:  
本文介紹使用python檢測服務(wù)器是否正常,程序的端口是否正常,需要的朋友可以參考下

經(jīng)常使用python檢測服務(wù)器是否能ping通, 程序是否正常運行(檢測對應(yīng)的端口是否正常)

以前使用shell腳本的寫法如下:

復(fù)制代碼 代碼如下:

PINGRET=$( ping www.baidu.com -c 2 | grep "icmp_" );  if [ -z $PINGRET ]; then echo "ping fail"; else echo "ping ok"; fi

或者
復(fù)制代碼 代碼如下:

ping -c 2 www.baidu.com|grep "icmp_" && echo 'ping ok' || echo 'ping fail'

代碼示例:

復(fù)制代碼 代碼如下:

#!/usr/bin/python
# encoding=utf-8
# Filename: net_is_normal.py
import os
import socket
import subprocess


#判斷網(wǎng)絡(luò)是否正常
server='www.baidu.com'
#檢測服務(wù)器是否能ping通,在程序運行時,會在標(biāo)準(zhǔn)輸出中顯示命令的運行信息
def pingServer(server):
    result=os.system('ping '+server+' -c 2')
    if result:
        print '服務(wù)器%s ping fail' % server
    else:
        print '服務(wù)器%s ping ok' % server
    print result

#把程序輸出定位到/dev/null,否則會在程序運行時會在標(biāo)準(zhǔn)輸出中顯示命令的運行信息 
def pingServerCall(server):
    fnull = open(os.devnull, 'w')
    result = subprocess.call('ping '+server+' -c 2', shell = True, stdout = fnull, stderr = fnull)
    if result:
        print '服務(wù)器%s ping fail' % server
    else:
        print '服務(wù)器%s ping ok' % server
    fnull.close()

#可用于檢測程序是否正常,如檢測redis是否正常,即檢測redis的6379端口是否正常
#檢測ssh是否正常,即檢測ssh的22端口是否正常
def check_aliveness(ip, port):
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(1)
    try:
        sk.connect((ip,port))
        print 'server %s %d service is OK!' %(ip,port)
        return True
    except Exception:
        print 'server %s %d service is NOT OK!'  %(ip,port)
        return False
    finally:
        sk.close()
    return False

if __name__=='__main__':
    pingServerCall(server)
    pingServer(server)
    check_aliveness('192.168.230.128', 6379)

相關(guān)文章

最新評論