实现文件锁以使副本成为文件

Abh*_*ogi 1 c c++ linux gcc

文件复制开发一个C程序,其中两个进程协同工作以完成任务:父进程从命令行接收源文件名和目标文件名.它以读取模式打开源文件.

在两个进程中对源文件使用共享锁.在目标文件上使用独占锁定.以256字节块进行读/写操作.您应该一次锁定尽可能小的文件部分.

我如何检查何时检查锁以及何时放锁?我无法找到包含示例的好资源.我试过从"Beej的IPC指南"中读到它,但它没有一个完整的例子.

我知道我必须使用fcntl()但是如何以及何时?请某人给出程序的伪代码..

t0m*_*13b 5

请参阅我的答案如何在StackOverflow 上使用C复制unix的文件.它使用了一个基本的锁定并阅读了caf提到的使用的注释lockf,有一种更强大的方法来使用它fcntl.有关于这一个详细的文件,在GNU的网站在这里.这是opengroup上的代码,演示了fcntl用于执行锁定的用法.

希望这会有所帮助,最好的问候,汤姆.