Python并发之multiprocessing示例:ping检测局域网机器

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错

使用python多进程模块multiprocessing来对局域网内机器进行ping检测

#!/usr/bin/env python
import multiprocessing
import subprocess
host_list = [‘172.16.13.11′,’172.16.13.12′,’172.16.13.13’, ‘1.2.3.4’]
if len(host_list) > 30:
process_number = 30
else:
process_number = len(host_list)
def ping_host(ipaddr):
if subprocess.call(‘ping -c1 -W 1 %s > /dev/null’ % ipaddr, shell=True) == 0:
print ‘%s is OK’ % ipaddr
else:
print ‘%s is DOWN’ % ipaddr
pool = multiprocessing.Pool(processes=process_number)
for ip in host_list:
pool.apply_async(ping_host,(ip,))
pool.close()
pool.join()

 

返回导读 

未经允许不得转载:演道网 » Python并发之multiprocessing示例:ping检测局域网机器

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册