我正在使用 Python 多处理为每个进程生成一个临时输出文件。它们的大小可以是几 GB,我做了几十个。这些临时文件需要连接以形成所需的输出,这是被证明是瓶颈(和并行性杀手)的步骤。是否有一个 Linux 工具可以通过修改文件系统元数据而不是实际复制内容来创建连接文件?只要它适用于我可以接受的任何 Linux 系统。但是文件系统特定的解决方案不会有太大帮助。
我没有受过操作系统或 CS 培训,但从理论上讲,似乎应该可以创建一个新的 inode 并从我要复制的文件的 inode 中复制 inode 指针结构,然后取消链接这些 inode。是否有任何实用程序可以做到这一点?考虑到经过深思熟虑的 unix 实用程序过多,我完全期望它会如此,但找不到任何东西。因此,我对 SO 的问题。文件系统位于块设备上,实际上是硬盘,以防此信息很重要。我没有信心自己写这篇文章,因为我以前从未做过任何系统级编程,所以任何指针(指向 C/Python 代码片段)都会非常有帮助。