Найти процессы с открытым файлом без lsof или fuser

Я работаю на машине Linux (Scientific Linux CERN SLC, выпуск 6.9 (Carbon)), на которой я не могу установить программы и на которой lsof команды lsof или fuser .

Я пытаюсь удалить точечный файл NFS на этом компьютере, но постоянно получаю сообщение об ошибке « Device or resource busy поэтому я хотел бы выяснить, какой процесс (возможно, это тот процесс, который я ранее запускал с nohup ) все еще содержит файл дескриптор этого файла.

Как мне этого добиться?

Используйте /proc//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 ~]#