rm -rf
폴더에 액세스하려고 하면 "장치 또는 리소스가 사용 중입니다"라는 메시지가 나타납니다.
Windows에서는 이 문제를 해결하기 위해 LockHunter를 사용합니다. 리눅스와 동등한 것은 무엇입니까? (예: 전체 기사 대신 간단한 "잠금 해제" 방법을 대답으로 제공하십시오.이것. 유용하기는 하지만 현재는 ASimpleMethodThatWorks™에만 관심이 있습니다.)
답변1
원하는 도구는 입니다 lsof
.열린 파일 나열.
여기에는 많은 옵션이 있으므로 매뉴얼 페이지를 확인하십시오. 그러나 디렉토리 아래에 열려 있는 모든 파일을 보려면 다음을 수행하십시오.
lsof +D /path
이는 파일 시스템에서 반복적으로 수행되므로 /path
큰 디렉터리 트리에서는 주의해야 합니다.
어떤 프로세스에 파일이 열려 있는지 알고 나면 해당 응용 프로그램을 종료하거나 명령을 사용하여 종료할 수 있습니다 kill(1)
.
답변2
설치 문제로 인해 발생하는 경우도 있으므로 제거하려는 파일 시스템이나 디렉터리를 마운트 해제합니다.
제거/경로
답변3
나는 같은 문제가 있었고 @camh의 권장 사항으로 시작하여 한 줄짜리 코드를 만들었습니다.
lsof +D ./ | awk '{print $2}' | tail -n +2 | xargs -r kill -9
awk
PID를 얻으세요.tail
성가신 첫 번째 항목인 "PID"를 제거하세요.xargs
kill -9
PID에서 실행합니다. /-r
, PID가 반환되지 않는 경우 명령이 실패하는 것을--no-run-if-empty
방지합니다 .kill
lsof
답변4
해결책은 다음과 같습니다.
- 디렉토리로 이동하여 다음을 입력하십시오.
ls -a
.xyz
파일 을 찾을 수 있습니다vi .xyz
파일 내용이 무엇인지 확인하세요.ps -ef | grep username
- 8열(마지막 행)에 .xyz 콘텐츠가 표시됩니다.
kill -9 job_ids
- job_ids는 8열에 있는 해당 오류 원인 콘텐츠의 2열에 있는 값입니다.- 이제 폴더나 파일을 삭제해 보세요.