作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
是否可以在 main()
以外的函数中使用 fcntl()
?调用后文件是否解锁?我这样说是因为在这种情况下 fcntl()
和 lockfile()
中的大部分其他内容在函数 返回
时都超出范围。
int lockfile(void){
int fd;
const char *path = "path-to-lockfile";
struct flock fl;
fl.l_type = F_WRLCK;
fl.l_whence = SEEK_SET;
fl.l_start = 0;
fl.l_len = 0
fl.l_pid = getpid();
fd = open(path, O_RDWR|O_CREAT);
fcntl(fd, F_SETLKW, &fl);
return fd;
}
最佳答案
fcntl
调用在文件上加了一个锁。它一直保留到文件关闭或锁被释放。这些结构只需要告诉 fcntl
要做什么。
关于c - fcntl() 范围可见性行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9540415/
我是一名优秀的程序员,十分优秀!