파일을 여는 데 lsof 또는 fusionr를 사용하지 않는 프로세스 찾기

파일을 여는 데 lsof 또는 fusionr를 사용하지 않는 프로세스 찾기

저는 프로그램을 설치할 수 없고 또는 lsof명령 fuser을 사용할 수 없는 Linux(Scientific Linux CERN SLC 버전 6.9(Carbon)) 시스템에서 작업하고 있습니다.

이 컴퓨터에서 NFS 포인트 파일을 삭제하려고 하는데 오류가 계속 발생하므로 어떤 프로세스(이전에 시작한 프로세스일 수도 있음 )가 여전히 파일에 대한 파일 설명자를 갖고 있는지 Device or resource busy확인하고 싶습니다 .nohup

이 목표를 어떻게 달성할 수 있나요?

답변1

사용 /proc/<PID>/fd.

예....우리는 어떤 pid가 열려 있는지 알고 싶습니다 /var/log/audit/audit.log. fuserpid 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 ~]#

관련 정보