fuser 不显示打开文件的进程的 PID

fuser 不显示打开文件的进程的 PID

我只是打开它.bashrc然后vim跑了

$ fuser .bashrc
$

但是没有输出,即使vim在另一个终端打开了此文件。

-m选项有效,但显示访问文件系统上.bashrc存在的文件的所有进程。

.bashrc但我想知道只打开了这个特定文件(在我的例子中)的进程,这是vim我的例子中的。

答案1

vim如果仅打开文件、读取文件然后关闭文件,则不会看到任何内容。要fuser查找vim,文件必须保持打开状态。

您可以将以下使用文件列出进程的方法与适用于您的发行版的方法进行比较:

  • 使用lsof

    lsof <filename>
    
  • 使用/proc

    find /proc -regex '\/proc\/[0-9]+\/fd\/.*' -type l -lname "filename" -printf "%p -> %l\n" 2> /dev/null
    

相关内容