由于文件的大小可能很大(100 in ~),为了减少多个进程中的内存使用量,我想我需要使用共享内存。我读了一个Linux文件,他们说,
虽然虚拟内存允许进程具有独立(虚拟)地址空间,但有时需要进程来共享内存。例如,系统中可能有几个进程运行bash命令shell。共享内存也可以用作进程间通信(IPC)机制,两个或多个进程通过所有进程共有的内存交换信息
我有两个进程(生产者和消费者)通过使用接口而不是mmap产生的共享内存段进行通信:int ret = shmget(key,它每次使用shmget()的IPC_CREAT标志创建一个新区域。我注意到,消费者可以继续从现有的共享内存段读取,而替换生产者已经转移到不同的共享内存段。
使用者进程如何检测并从中恢复?