Linux
查找在沒有 lsof 或 fuser 的情況下打開文件的程序
我正在使用無法安裝程序且
lsof
orfuser
命令不可用的 Linux(Scientific Linux CERN SLC 版本 6.9(Carbon))機器。我正在嘗試刪除這台機器上的 NFS 點文件,但我不斷收到
Device or resource busy
錯誤消息,所以我想找出哪個程序(我懷疑它可能是我之前開始使用的程序nohup
)仍然具有該文件的文件描述符。我怎樣才能做到這一點?
使用
/proc/<PID>/fd
.範例….我們想弄清楚哪個 pid 已
/var/log/audit/audit.log
打開。fuser
告訴我們它是 pid 255。[root@instance-1 ~]# fuser /var/log/audit/audit.log /var/log/audit/audit.log: 255 [root@instance-1 ~]#
所以使用非
fuser
解決方案:[root@instance-1 ~]# find /proc/*/fd -ls|grep /var/log/audit/audit.log 188652 0 l-wx------ 1 root root 64 Jul 1 06:22 /proc/255/fd/5 -> /var/log/audit/audit.log [root@instance-1 ~]#