美文网首页python百例
107-基于多线程的ping

107-基于多线程的ping

作者: 凯茜的老爸 | 来源:发表于2018-08-09 13:46 被阅读3次

    多线程与多进程类似,但是每个线程没有自己的资源空间,它们共用进程的资源。
    多线程没有僵尸进程的问题。

    import subprocess
    import threading
    
    def ping(host):
        rc = subprocess.call(
            'ping -c2 %s &> /dev/null' % host,
            shell=True
        )
        if rc:
            print('%s: down' % host)
        else:
            print('%s: up' % host)
    
    if __name__ == '__main__':
        ips = ['172.40.58.%s' % i for i in range(1, 255)]
        for ip in ips:
            # 创建线程,ping是上面定义的函数, args是传给ping函数的参数
            t = threading.Thread(target=ping, args=(ip,))
            t.start()  # 执行ping(ip)
    

    相关文章

      网友评论

        本文标题:107-基于多线程的ping

        本文链接:https://www.haomeiwen.com/subject/hdgqbftx.html