일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Flex
- FlexItem
- gradlew
- heroku
- spring
- WRAP
- Range
- PYTHON
- gradle
- MacOS
- HTML
- bitmasking
- 9935
- BOJ
- dp
- margin-collapsing
- 2098
- 15829
- JAVA14
- flexbox
- springboot
- CSS
- C
- JAVA11
- 백준
- db
- MariaDB
- 자료구조
- MAC
- 마진 상쇄
Archives
개인기록
[MacOS] 서버 강제 종료 후 Port 8080 was already in use 에러 해결 본문
터미널에서 gradlew로 서버를 빌드하고 실행한 뒤에 아무 생각 없이 ctrl + Z 로 서버를 종료했다(고 생각했다).
그런데 다시 서버를 구동하려니까 이런 오류가 떴다.
Web server failed to start. Port 8080 was already in use.
분명히 서버를 종료했는데 8080 포트가 이미 사용중이라니? 하고 생각해 보니 내가 한 건 강제 종료였다.
정상적이지 않은 방법으로 서버를 종료해서 뭔가 문제가 생긴 것 같았다.
그래서 현재 8080 포트에 연결된 프로세스를 찾아서 종료시키려고 터미널에 sudo lsof -i :8080를 입력해 주었다.
8080 위치가 포트 번호이고, 다른 포트를 사용하고 있다면 뒤의 숫자만 변경해 주면 된다.
% sudo lsof -i :8080
그러면 현재 8080 포트에 연결된 프로세스가 출력된다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2540 [username] 11u IPv6 0x8df238261a2bed19 0t0 TCP *:http-alt (LISTEN)
java 2540 [username] 16u IPv6 0x8df238261a2c17f9 0t0 TCP localhost:http-alt->localhost:53293 (ESTABLISHED)
java 2540 [username] 17u IPv6 0x8df238261a2c2439 0t0 TCP localhost:http-alt->localhost:53294 (CLOSE_WAIT)
PID가 2540인 저 프로세스가 제대로 종료되지 않고 현재 8080 포트를 사용중이므로 kill 명령어를 사용해서 포트를 닫아 주자.
% sudo kill -9 2540
그러면 서버가 정상적으로 잘 종료된 것을 확인할 수 있다.
* 서버 종료는 ctrl + Z가 아니라 ctrl + C로 하자. *
'Spring Boot' 카테고리의 다른 글
[Spring Boot] Heroku로 간단한 무료 DB 서버 연결하기 (MariaDB) (1) | 2022.08.16 |
---|---|
[MacOS] Java 11 다운로드 / Java 버전 확인, 변경하기 (+ 삭제) (0) | 2021.12.02 |