【发布时间】:2012-12-02 16:36:44
【问题描述】:
假设我们请求共享内存并将其附加到我们程序的主进程。
这个程序创建了几个进程。 正如 shmat 手册所说
在 fork(2) 之后,子进程继承附加的共享内存段。
因此我们不必将共享内存附加到子进程。
但是拆下来怎么办?我们是否也应该在孩子的代码中这样做?
或者只是在主进程中分离共享内存并销毁它就足够了?
【问题讨论】:
-
分离共享内存段就像关闭打开的文件句柄 - 大多数操作系统内核会在进程终止(有意或无意)时自动执行,但良好的编程习惯要求您明确地执行此操作。跨度>
-
@HristoIliev:我也是这么想的。离开它而不分离会导致指针悬空。
标签: linux fork shared-memory detach