服务存活性探测

 python  python   2016-10-27 

一个类似于telnet的python脚本。

#!/usr/bin/python
#coding:utf-8
'''
1.判断服务是否正常
2.判断机器是否存活
'''

import os,socket,subprocess,sys
#把程序输出定位到/dev/null,否则会在程序运行时会在标准输出中显示命令的运行信息
def servercheck(ip):
    with open(os.devnull,'w') as fnull:
        result = subprocess.call('ping '+ip+' -c 2', shell = True, stdout = fnull, stderr = fnull)
        if result != 0:
            print '%s ping fail' % ip
        else:
            print '%s ping success' % ip
    return

#可用于检测程序是否正常,如检测服务和端口
def servicecheck(ip, port):
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(1)
    try:
        sk.connect((ip,port))
        print '%s %d service is UP!' %(ip,port)
    except Exception:
        print '%s %d service is DOWN!'  %(ip,port)
        servercheck(ip)
    finally:
        sk.close()
    return

if __name__ == '__main__':
    if len(sys.argv) == 3:
        ip=sys.argv[1]
        port=sys.argv[2]
        servicecheck(str(ip), int(port))
    else:
        print "Usage:ip port"
        sys.exit(1)


点赞 打赏
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

交流分享

QQ扫一扫或点击二维码加入,群号577543189
微信扫一扫,手滑关注它
微信扫一扫,进入小程序

推荐文章

标签云集

友情链接  交换友链

推广位