如何在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. 从输入文件锁定和解锁
- 3. Linux文件锁定
- 4. 使用box api,我如何锁定或解锁文件?
- 5. Linux锁定进程和文件
- 6. 使用C#锁定文件#
- 7. 用VBA锁定和解锁
- 8. 用PhpStorm锁定/解锁文件
- 9. 使用c/C++锁定Linux中的文件
- 10. 使用VBA锁定和解锁
- 11. 使用jQuery锁定和解锁页面?
- 12. 文件锁定为Linux
- 13. 屏幕锁定和解锁
- 14. 解锁锁定的java文件Android studio
- 15. 在Java中锁定Linux文件
- 16. 使用Mutex锁定/解锁并在C中广播pthreads
- 17. 如何使用C#解锁文件?
- 18. 删除用户在perforce中解锁所有锁定的文件
- 19. 在C中删除解锁文件#
- 20. 用于iPhone锁定和解锁的UIEvent?
- 21. Linux/Windows Shell脚本解锁PGP文件
- 22. C++脚本在使用“LockWorkStation()”锁定后“解锁”窗口
- 23. C#解锁目录和复制文件
- 24. fcntl字节linux中的文件锁定
- 25. 连贯锁定解锁使用
- 26. 使用Thread.Sleep解决锁定死锁
- 27. 使用锁定()C#
- 28. 在Subversion中远程锁定/解锁文件
- 29. 锁定和解锁游戏关卡android
- 30. SQLite文件锁定和DropBox
请记住,这些不是强制性的锁,它们是咨询锁 - 意味着使用该文件的每个人都需要它们。如果他们不这样做,他们可以自由地操作文件。 – nos 2010-01-13 17:47:59