为文件复制开发一个C程序,其中两个进程一起完成任务:父进程从命令行接收源文件名和目标文件名。它以读取模式打开源文件。
在两个进程中对源文件使用共享锁。对目标文件使用独占锁。执行256字节块的读/写操作。您应该一次锁定文件的尽可能小的部分。
我如何了解何时检查锁和何时放置锁?我找不到一个包含例子的好资源。我试着阅读“Beej的IPC指南”,但它没有完整的示例。
我知道我必须使用fcntl(),但是如何和何时使用呢?请有人给出程序的伪码。
发布于 2010-02-09 06:29:07
请看我的答案如何使用C在unix上复制文件 on StackOverflow。它使用基本的锁定,并阅读caf在使用lockf
时提到的注释,有一种使用fcntl
的更健壮的方法。在GNU的网站这里上有一份关于这方面的详细文件。下面是蛇群上的代码,它演示了如何使用fcntl
进行锁定。
希望这能帮上忙最好的问好汤姆。
https://stackoverflow.com/questions/2229544
复制相似问题