반응형
리눅스 파일 시스템에서 간혹가다가
rm -rf 명령어로 삭제되지 않는 경우가 있다. 나의 경우에도 이런 경우가 발생했다.
$ sudo rm -rf SPOBEE_ADMIN_LOG/
rm: cannot remove '.nfs00000000000545ce00000002': Device or resource busy
rm: cannot remove '.nfs0000000000120b3d00000001': Device or resource busy
rm: cannot remove '.nfs0000000000120b3c00000003': Device or resource busy
아 짱나네 rm -rf는 거의 무적 지우기 인데 왜 삭제 안되는거지 해서 찾아보다 보니 사용중인 프로세스가 있어서 그런거였음.
그렇다면 해당 파일이 사용중인 프로세스가 무엇인지 확인하는 명령어를 통해서 kill 후 삭제처리를 해보니 잘되었다.
아래 코드를 참조하시기 바란다.
$ lsof +D ./파일명
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 98469 apptm 154w REG 0,47 59299 1182524 .nfs0000000000120b3c00000003
java 98469 apptm 155w REG 0,47 676833 1182525 .nfs0000000000120b3d00000001
java 98469 apptm 156w REG 0,47 392 345550 .nfs00000000000545ce00000002
위 코드를 보니 98469 PID를 가진 프로세스가 파일을 잡고 안놔주고 있는 실정임.
ps 명령어를 통해서 저 PID를 찾아서 KILL 하자
$ ps -ef | grep 98469
계정명 98469 1 16 Jan06 pts/0 03:16:15 /usr/lib/jvm/jdk1.8.0_191/bin/java -Djava.util.logging.config.file=/was/apache-tomcat-9.0.21/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dspring.profiles.active=ops -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /was/apache-tomcat-9.0.21/bin/bootstrap.jar:/was/apache-tomcat-9.0.21/bin/tomcat-juli.jar -Dcatalina.base=/was/apache-tomcat-9.0.21 -Dcatalina.home=/was/apache-tomcat-9.0.21 -Djava.io.tmpdir=/was/apache-tomcat-9.0.21/temp org.apache.catalina.startup.Bootstrap start
결국 TOMCAT에 잡고 있었음 ㅋㅋ
톰캣 끄고 삭제 처리 하니 깔끔하게 지워짐... 쉽구만...
만약에 다른 프로세스라면 $kill -9 98469 이렇게 삭제 처리하면 됩니다.
반응형
'Server > Linux' 카테고리의 다른 글
Apache2에 HttpS 를 적용하는 방법 - Ubuntu 18.04 기준 (0) | 2022.11.07 |
---|---|
AJP Connector를 이용한 Apache + Tomcat 연동 방법 총 정리 (0) | 2022.02.11 |
Apache2 패스워드(htpasswd) 처리하기 (0) | 2021.11.08 |
Ubuntu SFTP 설정 및 접속 방법 총정리 (2) | 2021.06.22 |
Ubuntu OpenJDK 설치 및 삭제 방법 (3) | 2020.09.09 |