【发布时间】:2011-06-10 09:21:30
【问题描述】:
当一个进程结束时,操作系统会进行哪些操作,从而不需要包含某些取消初始化代码?例如我知道它会关闭打开的文件描述符,但是取消映射映射文件等呢?
【问题讨论】:
-
依赖操作系统为您执行清理操作是一种不好的做法。
-
你当然不应该依赖它,但无论如何理解语义很重要。
当一个进程结束时,操作系统会进行哪些操作,从而不需要包含某些取消初始化代码?例如我知道它会关闭打开的文件描述符,但是取消映射映射文件等呢?
【问题讨论】:
来自 mmap(1) 的 linux 手册页http://www.kernel.org/doc/man-pages/online/pages/man2/mmap.2.html
“当进程终止时,该区域也会自动取消映射。”
这是完全合理的,因为它是定义的行为。
【讨论】: