手记

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

前言

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

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

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

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

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

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

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)
0人推荐
随时随地看视频
慕课网APP