我对在我(作为 usr1)拥有的配置文件和我在操作系统守护程序(每 5 分钟)中创建的临时文件之间突然创建的硬链接感到惊讶,以便从原始配置文件中复制。
复制回原始文件后,我使用 rename(*file2, *file1); 在 C 中,它会杀死对 config.txt.tmp 的任何跟踪
该目录在 mnt /sram 驱动器上是 root 拥有的,并且没有人对嵌入式机器具有 root 访问权限。存储介质是嵌入式 Linux 2.6.10 上的 NAND 闪存 SRAM
ls -l
节目
2 config.txt 699byte date_modify
2 config.txt.tmp 699byte date_modify
config.txt.tmp 应该被创建,从 config.txt 复制,将配置参数发送到 config.txt,然后在 5-7 个 C 行内自动删除
该目录是 root 拥有的,无法创建硬链接。
有人对低级函数中的“硬链接”创建有解释吗?我会面临竞争状况吗?或者它可能是一些用于通过闪存存储的内核代码?还是Linux中的错误?
我的代码运行了 5 年,100 台机器,最近只有 1 台机器出现了这个问题。