성규의 얇고 넓은 지식

톰켓을 죽여도 프로세스가 계속 남아있는 경우가 있다.

이유는 아직 쓰레드가 돌아가고 있는 것이 있기 때문이다.

그 쓰레드가 죽으면 톰켓 프로세스도 사라지게 된다.

 

이런거 다 무시하고 톰켓을 shutdown 할때 톰켓 프로세스를 확실히 죽이는 방법

 

1. catalina.sh 에 CATALINA_PID 추가.

catalin.sh 에 CATALINA_PID=/usr/local/tomcat/logs/tomcat.pid 를 추가한다.

이는 톰켓 프로세스를 뛰우면서 자신의 PID 를 파일에 저장하는 기능을 한다.

 

2. shutdown.sh 수정

shutdown.sh 을 보면 마지막에

exec "$PRGDIR"/"$EXECUTABLE" stop "$@"

이라는 부분이 있다.

exec "$PRGDIR"/"$EXECUTABLE" stop - force "$@"

로 변경해준다.

이는 톰켓을 죽일때 1번 항목에서 생성한 tomcat.pid 를 참조해 자신의 프로세스 아이디를 kill -9 로 죽이는 기능까지 하게 된다.

Posted by SSG911