python实现进程的并发

__author__ = ‘caohuan‘import telnetlibimport multiprocessingimport randomdef telnet(ip,hostname):

    tn = telnetlib.Telnet(ip)    print("begin telnet "+str(hostname)+"...")    tn.read_until("Username:".encode(‘ascii‘))

    tn.write("nb".encode(‘ascii‘)+b"\n")

    tn.read_until(b"Password:")    tn.write("nb".encode(‘ascii‘) + b"\n")

    print(hostname.encode(‘ascii‘))

    tn.read_until(hostname.encode(‘ascii‘)+ b">")

    tn.write("enable".encode(‘ascii‘) + b"\n")

    tn.read_until("Password:".encode(‘ascii‘))    tn.write("nb".encode(‘ascii‘) + b"\n")

    tn.read_until(hostname.encode(‘ascii‘)+b‘#‘)

    tn.write("terminal length 0".encode(‘ascii‘) + b"\n")    tn.read_until(hostname.encode(‘ascii‘)+b‘#‘)    tn.write("show run".encode(‘ascii‘) + b"\n")    aa = tn.read_until(hostname.encode(‘ascii‘)+b‘#‘)    #print(aa.decode(‘ascii‘))

    aa1="C:\\tt\\"+hostname+".txt"#    with open("C:\\luo.txt",‘a+‘) as ff:    with open(aa1,‘a+‘) as ff:        ff.write(aa.decode(‘ascii‘))        ff.write("exit%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")    tn.write(b"exit\n")    #print("exit")

def multitelnet():

 try:    pool=multiprocessing.Pool(processes=4)    f=open("C:\\12345.txt","r")    num=1    multipro=[]    while True:        line=f.readline().strip(‘\n‘)        if line:            argu=line.split(‘\t‘)            #print (argu[0])            #print (argu[1])            print( ‘第‘+str(num)+‘个进程已启动‘)            num+=1            pool.apply_async(telnet,(argu[0],argu[1]))        #    multipro.append(t)        #    t.start()        #    t.join()        #    print( ‘第‘+str(num)+‘个进程已启动‘)        #    num+=1        else:            break    f.close()    pool.close()    pool.join()    print ("Sub-process(es) done")   # for j in multipro:   #     j.start()   #     j.join()   #     print( ‘第‘+str(num)+‘个进程已启动‘)   #     num+=1 except Exception as  e:   print (e)

if __name__ == "__main__" :   multitelnet()   # telnet("172.25.11.2",b"mpls-vrf-PE1")
时间: 2024-10-09 00:33:02

python实现进程的并发的相关文章

python 使用多进程实现并发编程/使用queue进行进程间数据交换

import time import os import multiprocessing from multiprocessing import Queue, pool """ 一.Python 使用多进程实现并发编程: 因为cpython解释器中有GIL存在的原因(每个进程都会维护一个GIL,jpython解释器没有这个问题),所以在一个进程内, 即使服务器是多核cpu,同一时刻只能有一个线程在执行任务(一个进程内).如果存在较多IO,使用多线程是可以提高处理速度的, 但是

Python 3 进程池与回调函数

Python 3 进程池与回调函数 一.进程池 在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间.多进程是实现并发的手段之一,需要注意的问题是: 很明显需要并发执行的任务通常要远大于核数 一个操作系统不可能无限开启进程,通常有几个核就开几个进程 进程开启过多,效率反而会下降(开启进程是需要占用系统资源的,而且开启多余核数目的进程也无法做到并行) 例如当被操作对象数目不大时,可以直接利用multiprocessing中的Proces

Python 多线程教程:并发与并行

Python 多线程教程:并发与并行 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global interpreter lock(也被亲切的称为“GIL”)指指点点,说它阻碍了Python的多线程程序同时运行.因此,如果你是从其他语言(比如C++或Java)转过来的话,Python线程模块并不会像你想象的那样去运行.必须要说明的是,我们还是可以用Python写出能并发或并行的代码,并且能带来性能的显著提升,只要你能顾及到一些事情.如果你还没看过的话,我建议你看看

进程(并发,并行)

一.背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象.进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念展开的. PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力.将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽象,现代计算机将不复存在. 必备理论 #一 操作系统的作用: 1:隐藏

python之进程

1,什么是进程呢? 进程(Process)是计算机中的关于某数据集合上的一次运算,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.进程是程序的实体. 动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的. 并发性:任何进程都可以同其他进程一起并发执行 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位: 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的.不可预知的速度向前推进 结构特征:进程由程序.数据和进

python之进程池与线程池

一.进程池与线程池介绍池子使用来限制并发的任务数目,限制我们的计算机在一个自己可承受的范围内去并发地执行任务 当并发的任务数远远超过了计算机的承受能力时,即无法一次性开启过多的进程数或线程数时就应该用池的概念将开启的进程数或线程数 池子内什么时候装进程:并发的任务属于计算密集型池子内什么时候装线程:并发的任务属于IO密集型 不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不

Python基础---进程相关基础

什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位(是计算机分配资源的最小单位),是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器. 狭义定义: 进程是正在运行的程序的实例(an instance of a computer program that is being executed) 广义定义: 进程是一个具有一定独立功能的程序关于某个数据集合

Python之进程 1 - 基本概念

一 背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念展开的. 所以想要真正了解进程,必须事先了解操作系统 PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力.将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽象,现代计算机将不复存在

doraemon的python 守护进程和Process

### 9.4 Process模块 进程 ```python from multiprocess import Process p = Process(target=函数名,args=(参数1,)) 1.如何创建一个进程对象 对象和进程之间的关系: a.进程对象和进程并没有直接的关系 b.只是存储了一些和进程相关的内容 c.此时此刻,操作系统还没有接收到创建进程的指令 2.如何开启一个进程 通过p.start()开启一个进程,这个方法相当于给操作系统一个开启指令指令 start方法的异步非阻塞的