flock(2) System Calls Manual flock(2) flock - (libc -lc) #include int flock(int fd, int op); fd. op : LOCK_SH . . LOCK_EX . . LOCK_UN . flock() . LOCK_NB ( OR) . . flock() ( open(2)). ( fork(2) dup(2)) . LOCK_UN . open(2) ( ) flock(). . ( ) . flock() . flock() execve(2). . . -1 errno . EBADF fd . EINTR signal(7). EINVAL op . ENOLCK . EWOULDBLOCK LOCK_NB. Linux 2.0 flock() GNU C fcntl(2). flock() fcntl(2) flock() . ( BSDs flock() fcntl(2) .) CIFS Linux 5.4 flock() SMB. . Linux 5.5 flock() SMB . NFS fcntl(2) flock() . : / EACCES . SMB . SMB . mount.cifs(8) . BSD. 4.4BSD ( flock() 4.2BSD). flock() fcntl(2) UNIX. NFS Linux 2.6.11 flock() NFS ( ). fcntl(2) NFS Linux . Linux 2.6.12 NFS flock() fcntl(2) . fcntl(2) flock() NFS. . Linux 2.6.37 flock() ( fcntl(2)) local_lock nfs(5). flock() flock() / . flock() fcntl(2) dup(2). flock() fcntl(2) flock() . ( ) : . LOCK_NB. ( BSD .) close(2). execve(2) ETXTBSY umount(2) EBUSY . flock(1) close(2) dup(2) execve(2) fcntl(2) fork(2) open(2) lockf(3) lslocks(8) Documentation/filesystems/locks.rst 3 . . : . 6.18 8 2026 flock(2)