【问题标题】:What is actually happening when we terminate a process in Unix?当我们在 Unix 中终止一个进程时实际发生了什么?
【发布时间】:2017-09-22 13:22:36
【问题描述】:

我知道一个进程一旦被终止就完成了,但是 Unix 实际上是如何做到这一点的呢?当我们终止一个进程时,幕后发生了什么?我们只是简单地从内存中删除进程,还是有更多的意义?当操作系统终止进程所采取的步骤不同时,是否有规则或例外?

【问题讨论】:

    标签: unix process operating-system


    【解决方案1】:

    您的问题过于宽泛。进程终止是一个复杂的过程,涉及许多不同的页面。处于高水平。 . . .

    除了删除进程之外,还有很多其他内容。最大的挑战是释放进程分配的所有资源。

    最重要的是内存。必须释放所有用户空间物理内存。这涉及到引用计数,因为多个进程可以共享物理内存中的相同页面。必须释放分配给进程的所有页面文件(在 Unix 中也称为交换分区)空间。

    最复杂的问题是如何处理 I/O。清理必须处理任何挂起的 I/O 操作。必须关闭所有 I/O 端口(文件、管道、套接字)。

    我只是为了让你了解她的表面,让你了解发生了什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2011-03-31
      • 2022-11-16
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多