Linux - Locking a file
You could use the following command to lock a Linux file
And release the lock with the following
Then, you could show file descriptor holding with the following command
or
It could return something like
The following is the man page from lsof
So, if the output is 2wW, it means File Descriptor 2 is open for write access and has a write lock on the entire file.
#Open myfile as file descriptor 2
$ exec 2>myfile
#lock the file descriptor 2
$ flock -x 2
And release the lock with the following
$ exec 2>&-
Then, you could show file descriptor holding with the following command
lsof | grep myfile
or
lsof myfile
It could return something like
bash 132 userX 2wW REG 8,2 0 135612 myfile
The following is the man page from lsof
FD
is the File Descriptor number of the file or:
cwd current working directory; Lnn library references (AIX); err FD information error (see NAME column); jld jail directory (FreeBSD); ltx shared library text (code and data); Mxx hex memory-mapped type number xx. m86 DOS Merge mapped file; mem memory-mapped file; mmap memory-mapped device; pd parent directory; rtd root directory; tr kernel trace file (OpenBSD); txt program text (code and data); v86 VP/ix mapped file;
FD is followed by one of these characters, describing the mode under which the file is open:
r for read access;
w for write access;
u for read and write access;
space if mode unknown and no lock
character follows;
'-' if mode unknown and lock
character follows.
The mode character is followed by one of these lock characters, describing
the type of lock applied to the file:
N for a Solaris NFS lock of unknown type;
r for read lock on part of the file;
R for a read lock on the entire file;
w for a write lock on part of the file;
W for a write lock on the entire file;
u for a read and write lock of any length;
U for a lock of unknown type;
x for an SCO OpenServer Xenix lock on part
of the file;
X for an SCO OpenServer Xenix lock on the
entire file;
space if there is no lock.
So, if the output is 2wW, it means File Descriptor 2 is open for write access and has a write lock on the entire file.
Comments
Post a Comment