개발세발
[tomcat] tomcat 서버 중복 에러 해결법 (taskkill) 본문
tomcat 서버를 이클립스 내에서 껐다 키고, bin폴더에서 tomcat9w.exe 파일 실행시켜보고 혼자서 이것저것 다해보다가 서버충돌나서 아무리 이것저것 눌러도 tomcat이 연결이 안되는 상태가 되었따...

다시 정상적으로 연결해보기 위해 내가 시도해본 방법
1. 이클립스내에서 tomcat 서버를 껐다가 다시 켰다.
2. 이클립스를 껐다가 켰다.
3. 작업표시줄의 tomcat의 서버를 껐다가 켰다.
4. 작업표시줄의 tomcat을 종료시켰다.
5. 작업관리자에서 tomcat? javaw? 프로세스를 지우라는 것도 있었는데 왜인지 목록에도 없어서 이건 못했다.
를 다 해봤는데도 안되서 구글링해봤다..
구글링해서 찾아보니 다 끄고 작업관리자에서도 끄고 다 해도 안되면 cmd 창에서 taskkill해서 끄는 방법이 있었다. taskkill 해주고 다시 실행시키니 드디어 정상적으로 서버연결이 되었다.
아래는 그 방법
1. 이클립스에서 파일을 실행시켰을 때 서버 충돌이 생기면 아래와 같이 서버를 이미 쓰고 있는데 왜 또 쓰냐는 오류창이 뜬다.
[OK]버튼 옆의 [<<Details] 을 누르면 자세한 정보가 확인가능하고 충돌난 포트를 확인할 수 있다.
2. cmd 창을 열고 netstat -p tcp -ano 입력하고 엔터를 누르면 아래와 같이 조회된다.
내가 입력한게 뭔지는 알고 실행시키자 싶어서 찾아보니
netstat(network statistics)은 내 컴퓨터에 연결된 IP 확인가능한 명령어이고, 뒤에 붙은 -p, -ano 는 netstat 명령어에서 사용가능한 옵션들이었다. 자세한 정보는 아래의 블로그에서 잘 정리하고 있어서 더 알고 싶다면 링크 들어가서 확인해보면 좋을 듯하다.
https://blog.voidmainvoid.net/201
[linux] netstat 명령어 설명 및 예제
netstat 소개 netstat(network statistics)는 전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스(네트워크 인터페이스 컨트롤러 또는 소프트웨어 정의 네트워크 인터페이스), 네트워크 프로
blog.voidmainvoid.net
3. 목록에서 아까 이클립스 창에서 확인했던 포트번호를 확인할 수 있고 PID도 확인할 수 있다
4. 목록해서 확인한 PID를 입력해서 프로세스를 종료해주면 된다.
taskkill /f /pid 1836
PID | Process ID(프로세스 ID) |
taskkill | 실행 중인 프로세스나 응용 프로그램을 중지하는 cmd 명령어 . (task kill) |
/f | 프로세스를 강제로 종료하도록 지정 |
(*) 액세스가 거부된 경우
이유를 모르겠으나 처음에는 액세스가 거부되었다며 종료가 되지 않았다. 액세스가 거부된 경우에는 cmd를 관리자권한으로 실행시킨 뒤 위의 과정을 다시 실행하고 taskkill을 다시 입력해주면 성공적으로 종료된다.
5. 이클립스, tomcat도 다 종료해서 깨끗하게 만든 뒤 다시 이클립스를 실행해 tomcat서버를 start시키면 정상적으로 다시 접속이 된다.
tomcat을 설치한 bin폴더의 tomcat9w.exe도 실행시키고 이클립스내에서 tomcat서버 시작도 시키면 충돌이 날 수 있다.
어파치 이클립스내에서 tomcat서버 쓸 때 tomcat9w.exe에서 start/stop 변경도 안되지만, 반대의 경우로 exe파일 킨 상태에서 이클립스도 키면 또 충돌날 수 있다. (궁금해서 taskkill 하고 다시 이렇게 해봤는데 또 충돌나서 다시 taskkill 했었다......)
여쭤보니 tomcat9w.exe 은 배보할 서버가 있는 경우 사용하면 되고, 배울 때는 이클립스에서 tomcat 서버 켜주면 된다고 하셨다.
일을 크게 만들지 말고 이클립스에서만 키고끄고 하자
'코딩공부' 카테고리의 다른 글
공부하려고 한 것들 쌓아두는 글 (0) | 2022.01.28 |
---|---|
[java] 한 줄 주석(//) 한번에 삭제하기 (0) | 2022.01.25 |