使用python调用ping命令,然后在日志中记录ping的结果,用来监测网络连通情况。
代码:
from time import *
from subprocess import *
webf= open("webs.txt","r")
webs=[]
for w in webf:
webs.append(w.strip())
def logAppend(log,info):
inttime = time()
structtime = localtime(inttime)
strtime = strftime("%Y-%m-%d,%H:%M:%S",structtime)
print "at ",strtime
log.write("================== "+strtime+" ==================\n")
log.write(info)
log.write("\n\n")
print "append info to file :",log.name
print info
def netCheck():
while True:
for url in webs:
p = Popen(["ping.exe",url],
stdin=PIPE,stdout=PIPE,stderr=PIPE,
shell=True)
out = p.stdout.read()
log = open("log\\"+url+".log","a")
logAppend(log,out)
log.close()
sleep(0.01)
print "waiting ..."
sleep(60*15) #sleep for 15min. 60*15
return
def main():
"""
the main function
"""
print "start..."
netCheck()
print "end."
if __name__ == "__main__":
main()
说明:
webs.txt为目的地址,如www.baidu.com,每行一个。
需要在当前目录下自己建立一个名为log的文件夹。