![파일을 여는 데 lsof 또는 fusionr를 사용하지 않는 프로세스 찾기](https://linux55.com/image/136133/%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%97%AC%EB%8A%94%20%EB%8D%B0%20lsof%20%EB%98%90%EB%8A%94%20fusionr%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%20%EC%B0%BE%EA%B8%B0.png)
저는 프로그램을 설치할 수 없고 또는 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 ~]#