关于进程的一些问题

1.什么是孤儿进程?
答:在子进程结束之前,父进程就挂掉了,该子进程称之为孤儿进程(无害),最后会由所有进程的父进程进行发送回收请求(linux中为init进程)

2.如何设置守护主进程?
答:threading.Thread(target=task, args=(), daemon=True)设置子进程守护主进程,当主进程结束的时候,子进程也随之结束。

3.进程是并发还是并行?
答:进程是并行;进程之间相互独立,是系统分配资源的最小单位。

4.什么是僵尸进程?
答:僵尸进程是由于子进程先于父进程挂掉的一种状态。

5.多进程应用场景?
答:密集CPU任务,需要充分使用多核CPU资源(服务器,大量的并行计算)的时候,用多进程。

6.进程效率低的原因?
答:进程之间不共享任何状态,进程的调度由操作系统完成,每个进程都有自己的独立的内存空间。
进程间的通讯主要是通过信号传递的方式来实现的,实现的方式有多种,信号量,管道,事件等,任何一种方式的通讯效率都需要通过内核,导致通讯效率比较低。
由于是独立的内存空间,上下文切换的时候需要保存先调用栈的信息,CPU各寄存器的信息,虚拟内存,以及打开的相关句柄等信息,所以导致上下文进程间切换开销很大,通讯麻烦。

7.如何结束后台的进程?
答:不是所有进程都可以用“kill+进程编号”结束掉,对于结束不掉的进程可以使用“kill -9 进程编号”来进行强制结束;
但一般情况下,只需要“kill 进程编号”就可结束。

8.进程之间如何通信?
答:可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序。
因为进程之间是独立的所以, 利用Queue来完成数据的共享

9.进程的优点
答:多进程的优点是稳定性好,一个子进程崩溃了,不会影响主进程以及其余进程。

10.进程的缺点
答:创建进程的代价非常大,因为操作系统要给每个进程分配固定的资源,并且,操作系统对进程的总数会有一定的限制,若进程过多,操作系统调度都会存在问题,会造成假死状态。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值