在Ubuntu LInux中使用C APIlocking和解锁文件

如何在Ubuntu Linux中使用C语言locking文件达指定的时间段(10秒)?

Solutions Collecting From Web of "在Ubuntu LInux中使用C APIlocking和解锁文件"

它是这样工作的:

#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(); ... 

使用fcntl(2)来锁定文件,然后使用alarm(2)调用你的SIGALRM处理程序,然后解锁它。