Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269282
  • 博文数量: 103
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-02 16:15
文章分类

全部博文(103)

文章存档

2014年(8)

2013年(95)

我的朋友

分类: Python/Ruby

2013-11-26 17:26:37

import re
import sys
import platform


num_threads = 10
queue = Queue()


def pinger(i,q):
    while True:
        ip=q.get()
        if platform.system() == 'Linux':
            cmd="ping -c 1 %s"%ip
            outfile="/dev/null"
        elif platform.system() == "windows":
            cmd = "ping -n 1 %s"%ip
            outfile="ping.temp"
        ret = subprocess.call(cmd,shell=True,stdout=open(outfile,'w'),stderr=subprocess.STDOUT)
        if ret == 0:
            print "%s:is alive"%ip
        else:
            print "%s is down"%ip
        q.task_done()


for i in range(num_threads):
    worker = Thread(target=pinger,args=(i,queue))
    worker.setDaemon(True)
    worker.start()




host_file =open(r'hosts.txt','r')
ips = []
re_obj=re.compile(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}")
for line in host_file:
    for match in re_obj.findall(line):
        ips.append(match)
host_file.close()


for ip in ips:
    queue.put(ip)


print "Main Thread Waiting"
queue.join()
print "Done"


result =raw_input("Please press any key to exit")
if result:
    sys.exit(0)

阅读(1060) | 评论(0) | 转发(0) |
0

上一篇:python-tar-压缩管理

下一篇:python-sftp

给主人留下些什么吧!~~