首页 > 系统相关 >热点面试题:进程系列问题?

热点面试题:进程系列问题?

时间:2023-01-12 13:40:36浏览次数:65  
标签:面试题 系列 交流学习 前端 孤儿 进程 热点 标注

前言

极度投入,深度沉浸,边界清晰

前端小菜鸡一枚,分享的文章纯属个人见解,若有不正确或可待讨论点可随意评论,与各位同学一起学习~

欢迎关注 ​​『前端进阶圈』​​ 公众号 ,一起探索学习前端技术......

公众号回复 ​​加群​​ 或 ​​扫码​​, 即可加入前端交流学习群,长期交流学习......

公众号回复 ​​加好友​​,即可添加为好友

热点面试题:进程相关问题?

​Q: 父进程或子进程死亡会影响双方吗?​

  • R: 子进程死亡不会影响父进程,但在子进程死亡时,会向它的父进程发送死亡信号。
  • R: 父进程死亡会影响子进程。

​Q: 什么是进程?​

  • R: 一段程序执行的过程,是一个动态的概念。
  • A: 每个进程的产生都有属于自己的一个​​ID(pid)​​,并且也会携带一些父进程的​​ID(ppid)​​。进程死亡时,ID将被回收。

​Q: 进程间如何获取 CPU 资源?​

  • R: 进程间靠优先级来获取 CPU 资源,根据时间片段轮换来更新优先级(每个进程都会进行轮换运行,这个时间会比较短,所以给我们的感觉就像是系统在同时运行好多进程)。

​Q: 何为孤儿进程?​

  • R: 子进程死亡需要父进程来处理,那以此来说正常的流程就是子进程先死然后父进程再死。如果出现父进程比子进程先死时,子进程就没有了父进程来处理,这样的话就会形成孤儿进程。

​Q: 孤儿进程后续怎么处理的?​

  • R: 孤儿进程将会被分配给一号进程init,init进程将会收养孤儿进程,并由init进程对他们完成状态收集工作。

​Q: 何为僵尸进程?​

  • R: 进程是按照父进程产生子进程,子进程产生子子进程的方式来创建和完成互协功能。当一个进程完成终止后,它的父进程会调用 ​​wait() 或 waitpid()​​ 来取出子进程的终止状态。如果父进程没有取出子进程的终止状态,那此时系统进程中还会依然保留这子进程退出状态的一些信息,这时进程表项就将一直被占用。此时,这个占着系统进程的子进程就被称为 ​​僵尸进程​​。

​Q: 孤儿进程与僵尸进程的区别是什么?​

  • R: 孤儿进程是不占用资源的(由于父进程已经死亡,系统会帮助父进程回收处理孤儿进程,所以是不占用资源的),而僵尸进程会占用进程ID,损害运行系统

​Q: 如何避免僵尸进程?​

  1. 直接将父进程杀死,让僵尸进程就会变为孤儿进程。
  2. 当子进程完成终止状态后,父进程及时调用 ​​wait() 或 waitpid()​​ 方法进行释放子进程占用的资源。
  3. 采用信号SIGCHLD通知处理,并在信号处理程序中调用 wait 函数

文章特殊字符描述:

  1. 问题标注 ​​Q(question)​
  2. 答案标注 ​​R(result)​
  3. 注意事项标准:​​A:(attention matters)​
  4. 详情描述标注:​​D:(detail info)​
  5. 总结标注:​​S:(summary)​
  6. 分析标注:​​Ana:(analysis)​
  7. 提示标注:​​T:(tips)​

往期回顾:

最后:

  • 欢迎关注 ​​『前端进阶圈』​​ 公众号 ,一起探索学习前端技术......
  • 公众号回复 ​​加群​​ 或 ​​扫码​​, 即可加入前端交流学习群,长期交流学习......
  • 公众号回复 ​​加好友​​,即可添加为好友


标签:面试题,系列,交流学习,前端,孤儿,进程,热点,标注
From: https://blog.51cto.com/u_14399386/6004035

相关文章