Дві можливості: lsof
(на мою перевагу) або lslk
(спеціально для блокування файлів):
[root@policyServer ~]# lslk | grep "master.lock"
SRC PID DEV INUM SZ TY M ST WH END LEN NAME
master 1650 253,0 12423 33 w 0 0 0 0 0 /var/lib/postfix/master.lock
[root@policyServer ~]# lsof | grep "master.lock"
master 1650 root 10uW REG 253,0 33 12423 /var/lib/postfix/master.lock
Вихід lslk є розширеним, але lsof
опис блокування ставить у стовпчик "FD" (що 10uW
вище). На чоловіковій сторінці:
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.
Таким чином, стовпець "FD" lsof
вище розбивається на:
10
Буквальний дескриптор цього відкритого файлу. З чим пов’язаний користувач/proc/1650/fd/10
u
Файл відкритий для читання та запису
W
Програма має блокування запису у файл.