我想向使用 fork + exec 生成的进程传递一个指针(我正在使用 mmap 将一个包含数据的文件放入内存中),但我被困在如何将指针传递给 exec() 生成的进程?
更新1:
感谢您的输入,我确实使用共享内存使用带有 MAP_INHERIT 标志的 mmap 创建它:
使用 mmap() 函数创建的每个映射文件和共享内存区域都会通过成功调用任何 exec 函数来取消映射,使用 MAP_INHERIT 选项映射的区域除外。使用 MAP_INHERIT 选项映射的区域仍然映射在新的过程映像中。
来源:http ://www.uwm.edu/cgi-bin/IMT/wwwman?topic=exec(2)&msection=
更新2:
这是家庭作业练习,但我认为我必须停止考虑指针并考虑 IPC 本身。我想我会尝试在子进程中映射同一个文件。
非常感谢短代码示例。
在此先感谢您的帮助。