df报告磁盘使用情况但共享内存/ dev / shm中没有文件

时间:2015-10-26 11:05:55

标签: c++ linux posix shared-memory

我尝试使用共享内存/ c ++进行编程。我有多个进程访问共享内存块,然后在执行期间取消链接,并在完成前一个部分后链接到另一个部分。

所有工作,除了,当我列出ls / dev / shm它是空的,但是当我df / dev / shm它说空间消耗了,为什么呢?

1 个答案:

答案 0 :(得分:3)

如果您使用的是shm_unlik(),请注意shm_unlik

  

"删除字符串命名的共享内存对象的名称   名字指出。"

<强>但

  

&#34;内存对象内容的删除应推迟到   对共享内存对象的所有打开和映射引用都是   。除去&#34;

(如男人page中所述)

因此,您可能看不到ls的任何内容,但仍然看到使用df占用的内存。