python forkping

发布时间:2019-06-09 21:44:43编辑:auto阅读(1976)

    #!/usr/bin/env python3
    import os

    import subprocess

    def ping(host):
      result = subprocess.call('ping -c2 %s &> /dev/null'%host,shell=True)
      if result == 0:
            print('%s:up'%host)
      else:
            print('%s:down'%host)

     if __name__=='__main__':
       ips = [ '192.168.25.%s'%i for i in range(1,255)]
       for ip in ips:
         pid = os.fork()  
        if not pid:       #使用子进程工作
           ping(ip)
           exit()     #每个子进程工作完exit一次,否则子进程会再生成子进程

关键字