I've written below python script just to invoke parallel threads of a command
nslookup linux-host01 dns-server, i'm Just trying to flood the DNS Server
dns-server with multiple number of queries in parallel way.
As an argument to this script i'm passing a
hostlist file example
To achieve this i'm using
threading module with the below code and this works fine, However, i'm using the the threading first time hence would like to know if this can be simplified of enhanced further.
import os import threading from sys import argv, exit lock = threading.Lock() hostfile = argv lst =  with open(hostfile, 'r') as frb: for line in frb: lst.append(line.strip("\n")) threads =  thread_count = len(lst) def pop_queue(): host = None lock.acquire() if lst: host = lst.pop() lock.release() return host def dequeue(): while len(lst) != 0: host = pop_queue() if not host: return None else: dolookup(host) def dolookup(name): while True: os.system("/usr/bin/nslookup %s dns-test01" %name) for i in range(thread_count): t = threading.Thread(target=dequeue) t.start() print "started thread %s" %i threads.append(t) [t.join() for t in threads]
Appreciate any help on this.