Как сравнить одну и ту же переменную, являющуюся результатом двух процессов через многопроцессорность в python? - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу сканировать порты, используя библиотеку python -nmap. Я хочу сканировать порты определенного набора портов два раза, используя многопроцессорную обработку для вызова функции, которая затем получает открытые порты и сохраняет их в списке. Теперь я хочу сравнить найденные порты разными процессами.


    import nmap
    import sys
    import multiprocessing</p>

<pre><code>def scan():
    nm=nmap.PortScanner()
    nm.scan(hosts=sys.argv[1],arguments='-T4',ports='1-1000')

    popen=nm[sys.argv[1]]['tcp'].keys()
    popen.sort()
    for port in popen:
      state=nm[sys.argv[1]]['tcp'][int(port)]['state']
      print "port :"+str(port)+":" +state 


def main():
   process1=multiprocessing.Process(target=scan)
   process2=multiprocessing.Process(target=scan)
   process1.start()
   process2.start()
   process1.join()
   process2.join()
   ####if(process1.popen==process2.popen) This is not valid.####How to do this
   #     print "yes"
if __name__=='__main__':
  main()

Здесь я хочу сравнить переменную popen для process1 и process2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...