파일 잠금 모니터링 및 무리 잠금 사용

파일 잠금 모니터링 및 무리 잠금 사용

공유 잠금을 보유하고 있는 PID 목록을 얻고 싶습니다 /tmp/file. 간단한 명령줄 도구를 사용하여 이것이 가능합니까?

답변1

  • 에서 man lsof:

    FD는 파일의 파일 설명자 번호입니다. FD 뒤에는 파일이 열리는 모드를 설명하는 다음 문자 중 하나가 옵니다.

              The mode character is followed by one of these lock characters, describing the type of lock applied to the file:
    
                   R for a read lock on the entire file;
                   W for a write lock on the entire file;
                   space if there is no lock.
    

따라서 R이는 3uR읽기/공유 잠금이 613PID에 의해 발행됨을 의미합니다.

#lsof /tmp/file
COMMAND PID    USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
perl    613 turkish    3uR  REG    8,2        0 1306357 /tmp/file

  • 직독 /proc/locks비율 lsof,

    perl -F'[:\s]+' -wlanE'
      BEGIN { $inode = (stat(pop))[1]; @ARGV = "/proc/locks" }
      say "pid:$F[4] [$_]" if $F[7] == $inode
    ' /tmp/file
    

답변2

fuser /tmp/file파일을 잠근 프로세스를 포함하여 파일이 열려 있는 모든 프로세스가 나열됩니다.

관련 정보