#coding = utf-8
import os,os.path
import threading
import time
lock = threading.RLock()
def action(ip):
result = "ip.txt"
return1 = os.system('ping -n 2 -w 1 %s' % ip) # 每个ip ping2次,等待时间为1s
#线程加锁
lock.acquire()
with open(result, 'a+') as f:
if not return1:
f.write("result:%d %s\n" % (return1, ip))
lock.release()
return return1
#多线程代码
def pingfuncthread():
thread_list = []
for j in range(1,255):
for i in range(1,255):
ip = "192.168.%d.%d" %(j,i)
t = threading.Thread(target=action,args = (ip,))
#t.setDaemon(True)
thread_list.append(t)
for t in thread_list:
t.start()
for t in thread_list:
t.join()
#单线程代码
def pingfunc():
for i in range(1,255):
ip = "192.168.31.%d" %(i)
action(ip)
if __name__ == '__main__':
pingfunc()
#run_plot("test.txt")