c - 两个不同的 C 程序正在访问一个文件

标签 c linux file-io

我在 Linux 平台上有一个应用程序,需要服务器程序不断地将数据写入 bin 文件。同时另一个程序需要读取写入的值。如果我在读写过程中没有锁定文件,我应该担心吗?

最佳答案

你应该担心。我假设您确定没有其他程序(除了您问题中提到的两个可执行文件)正在访问该文件。您确实应该锁定以序列化该访问。使用 flock(2) , 或 lockf(3)使用 fcntl(2)

顺便说一句,文件是顺序读写的吗?您是否考虑过使用一些更高级别的东西,例如GDBM或一些数据库,如 mariadbpostgresqlmongodb等等……

关于c - 两个不同的 C 程序正在访问一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462309/

相关文章:

c - `timer_settime()` 的奇怪行为

c++ - 使用 -1 作为无符号 (size_t) 类型的标志值

c - 从文件中以不同的字符串读取 2 个巨大的数字

linux - 连接到安装了单声道的 Informix DB 时出现 ODBC 错误

linux - 使用curl上传图片

c - 为什么 fread 总是返回 0?

c - Intel Phi 上的 MKL 性能

linux - Docker 无法在 Windows 上挂载文件夹

java - Sams Teach Yourself Java in 24 Hours Rogers Cadenhead MP3 第 20 章 MP3 文件错误第六版

file-io - 重定向标准输出流