我正在编写同时访问文件的 Linux ANSI C cgi-bin 服务器程序。
是否可以区分文件存在和文件锁定?我用谷歌找不到答案。我想编写一个程序,如果 fd<0(认为文件被锁定了一段时间),它会尝试打开文件几秒钟。但如果文件不存在,它的 fd 也 <0。所以程序会浪费时间等待。
假设有几个线程尝试在没有锁定的情况下附加到同一个文件。一个尝试添加“AAAA”,另一个尝试添加“BBBB”。结果文件可以像“AABBAABB”吗?或者它总是像 AAAABBBB 或 BBBBAAAA?还是结果无法预料?