반응형

리눅스 파일 시스템에서 간혹가다가 

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 이렇게 삭제 처리하면 됩니다.

반응형

+ Recent posts