
저는 프로그램을 설치할 수 없고 또는 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
. 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 ~]#