如何在Ubuntu Linux中使用C语言将文件锁定指定的时间段(10秒)?在Ubuntu中使用C API锁定和解锁文件LInux
2
A
回答
3
它的工作原理是这样的:
#include <io.h>
#include <sys/file.h>
...
int f = open ("filename", O_RDONLY);
if (f < 0)
error();
if (flock (f, LOCK_EX))
error();
sleep (10);
if (flock (f, LOCK_UN))
error();
...
1
使用fcntl(2)
锁定文件,然后使用alarm(2)
打电话给你SIGALRM
处理程序,然后将其解锁。
+1
在信号处理程序中调用'flock'安全吗? – 2010-01-13 20:29:10
+0
Hrm。 '信号(7)'说不。 'fcntl(2)'应该没问题。 – 2010-01-13 20:34:25
相关问题
- 1. 使用java API锁定和解锁文件
- 2. Linux锁定进程和文件
- 3. 用VBA锁定和解锁
- 4. 用PhpStorm锁定/解锁文件
- 5. 使用c/C++锁定Linux中的文件
- 6. 使用jQuery锁定和解锁页面?
- 7. 文件锁定为Linux
- 8. 解锁锁定的java文件Android studio
- 9. 用于iPhone锁定和解锁的UIEvent?
- 10. fcntl字节linux中的文件锁定
- 11. C#解锁目录和复制文件
- 12. 在Subversion中远程锁定/解锁文件
- 13. 锁定和解锁游戏关卡android
- 14. SQLite文件锁定和DropBox
- 15. 关于屏幕锁定和解锁
- 16. 在C++中使用范围自动锁定/解锁(来自C#背景)
- 17. jqGrid:如何锁定和解锁网格?
- 18. 从C#winform锁定和解锁sql数据库中的行
- 19. Linux ANSI C同时访问文件和锁定
- 20. 如何在C中锁定文件夹#
- 21. 使用disableKeyguard和reenableKeyguard来锁定和解锁
- 22. 在Sharepoint中锁定/解锁网站
- 23. MVC锁定和解锁一个呼叫
- 24. 锁定/解锁HTML5画布
- 25. C#如何锁定文件
- 26. C#文件被锁定后
- 27. 锁定/解锁方向
- 28. 如何锁定和解锁jqGrid?
- 29. 锁定和解锁dispatch_queue_t异步任务
- 30. 在编辑时实现锁定和解锁文档
请记住,这些不是强制性的锁,它们是咨询锁 - 意味着使用该文件的每个人都需要它们。如果他们不这样做,他们可以自由地操作文件。 – nos 2010-01-13 17:47:59