进程过程是对各种资源管理的集合,包含对各种资源的调用,内存的管理,网络接口的调用;一个进程过程可以包含多个子进程,启动一个进程的时候会自动创建一个线程,进程里的第一个线程就是主线程(即python __name__==' __main__ ');
<强>进程过程模块强>
对于线程操作可以用螺纹模块,那么对于进程的创建python同样也提供了过程模块,创建进程时需要导入该模块,语法如下:
#导入进程模块 从多处理导入过程 #创建进程 p=过程(集团=没有目标=None, name=None, arg游戏=(),kwargs={})
参数介绍:
集团——参数未使用,默认值为没有;
目标——表示调用对象,即子进程要执行的任务(函数名字);
参数-子进程对应函数的参数,并且类型是元组元组;
kwargs -子进程对应函数的参数,并且类型是字典dict类型,如kwargs={“名称”:杰克,“年龄”:18};
名称——子进程名称;
返回值:返回进程实例对象,
<强>三。进过程程函数介绍
强>
其实进程过程的函数和线程线程类似,具体如下:
1.开始()——启动进程;
2.终止()——强制终止进程,不会进行任何清理操作。如果该进程终止前,创建了子进程,那么该子进程在其强制结束后变为僵尸进程;如果该进程还保存了一个锁那么也将不会被释放,进而导致死锁,使用时,要注意;
3. is_alive()——判断某进程是否存活,存活返回真,否则假;
4.加入((超时))——主线程等待子线程终止.timeout为可选择超时时间,需要强调的是,p。加入只能加入住开始开启的进程,而不能加入住跑开启的进程;
5。守护进程——默认值为假,如果设置为真的,代表该进程为后台守护进程;当该进程的父进程终止时,该进程也随之终止,并且设置为真实后,该进程不能创建子进程,设置该属性必须在开始()之前,
6.的名字——进程名称;
7。pid -进程ID标识、pid值得注意的是:如果在开始函数之前获取pid默认为,因为进程还未创建,获取不到pid;
8。exitcode——进程运行时为无,如果为N,表示被信号N结束了;
9。authkey——进程身份验证,默认是由os.urandom()随机生成32字符的字符串。这个键的用途是设计涉及网络连接的底层进程间的通信提供安全性,这类连接只有在具有相同身份验证才能成功;
<强>进程过程使用强>
# ! usr/bin/env python # - * -编码:utf - 8 _ * - ”“” @Author:何以解忧 @Blog(个人博客地址):shuopython.com @WeChat官方账户(微信公众号):猿说python @Github: www.github.com @File: python_process.py @Time: 2019/12/21日月星辰 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! ”“” 从多处理导入过程 def people_info (* args, * * kwargs): print (args, kwargs) def main (): #信息列表 list_info=[{“名称”:“zhangsan”,“高”:“175厘米”}, {" name ": " lisi”、“高度”:“155厘米”}, {" name ": " wangwu”、“高度”:“195厘米”}, {" name ":“莉齐”,“高”:“166厘米”}, {" name ": " wangba”、“高度”:“125厘米”},) #创建进程 因为我在范围(5): p=过程(目标=people_info args=(我),kwargs=list_info[我]) #设置为守护进程,必须设置在开始函数之前,否则会产生异常 #默认为假,即主进程会等待子进程结束之后才结束, #如果设置为真的,主进程结束之后所有的子进程自动结束,不管子进程是否已经执行完所有任务 # p。守护进程=True #启动进程 p.start () #获取进程pid,如果在开始函数之前获取pid,默认为,因为进程还没启动 打印(“进程过程pid=", p.pid) #获取进程名字 打印(“进程过程name=", p.name) #获取进程pid 打印(“进程过程exitcode=", p.exitcode) if __name__==癬_main__”: main ()
输出结果:
进程过程pid=2600 进程进程名称=处理 进程过程exitcode=没有 进程过程pid=4372 进程进程名称=步骤二 进程过程exitcode=没有 进程过程pid=14124 进程进程名称=过程3 进程过程exitcode=没有 进程过程pid=10920 name=Process-4进程过程 进程过程exitcode=没有 进程过程pid=4892 name=Process-5进程过程 进程过程exitcode=没有 (0){“名称”:“zhangsan”,“高”:“175厘米”} (1){“名称”:“lisi”,“高”:“155厘米”} (2){“名称”:“wangwu”,“高”:“195厘米”} (3){“名称”:“莉齐”,“高”:“166厘米”} (4){“名称”:“wangba”,“高”:“125厘米”}Python使用进程过程模块管理资源