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

df reports disk usage but no files in shared memory /dev/shm

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

一切正常,除了,当我列出 ls /dev/shm 它是空的,但是当我 df /dev/shm 它说 space 消耗了,为什么?

如果您使用 shm_unlik(),请记住 shm_unlik:

"remove the name of the shared memory object named by the string pointed to by name."

但是

"the removal of the memory object contents shall be postponed until all open and map references to the shared memory object have been removed."

(如男子所说page

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