防止子进程写入共享内存?

时间:2021-04-25 07:09:29

标签: linux shared-memory child-process

我的进程将共享内存部分作为运行时堆栈(Co 的堆栈在共享内存上运行)。因此,我的进程可以在核心转储的情况下恢复运行时。

但是我遇到了一个问题。我不希望子进程将任何内容写入堆栈内存,堆栈内存实际上是分叉后超级进程的堆栈。我知道我只需要将内存复制写入子进程。因此,我必须将此共享内存声明为私有,但这会使在核心转储重新启动后丢失的超级进程对其进行更改。

Linux 中是否有任何机制可以使共享内存不继承给子进程,而仅显式附加到该进程?也许是一个 mmap 标志?或者是系统调用将写时复制配置覆盖到特定内存部分?

谢谢。

0 个答案:

没有答案