Hi Daniel, My responses below.
On Tue, Aug 01, 2017 at 02:48:19PM -0400, Daniel Bosah wrote: > I'm following an online tutorial about threading. This is the code I've > used so far: Can you give us a link to the tutorial? [...] > def portscan(port): > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > try: > con = s.connect((target,port)) # con for connect > with print_lock: # if sucessful run with statement > print 'port', port, 'is open' > con.close() # closes connection > except: > pass #if it doesn't work pass the method I'm very concerned about that bare "except" line. I'm not absolutely saying that it is wrong, but in general bare excepts are a terrible idea. https://realpython.com/blog/python/the-most-diabolical-python-antipattern/ > def threader(): > while True: > worker = q.get() > portscan(worker) > q.task_done > q = Queue() > for x in range(30): > t = threading.Thread(target = threader() #creates a thread, gets > workers from q, set them to work on portscanning > t.daemon() = True # want it to be a daemon > t.start() > #jobs = ports > for worker in range(1,101): # port zero invalid port > q.put(worker) # puts worker to work > q.join() #waits till thread terminiates > > > I don't know what a Daemon is, https://en.wikipedia.org/wiki/Daemon_(computing) > and I also don't know how to use it in > Python 2.7. Apparently its built in Python 3, but I don't know how to use > it in Python 2.7. Any help would be appreciated. What happens when you try? -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor