포트를 점유하고 있는 서비스 제거하기

포트를 점유하고 있는 서비스 제거하기

DevOps
포트를 점유하고 있는 서비스 제거하기
Author

gabriel yang

Published

May 5, 2025

우분투에서 특정 포트를 점유하는 서비스 종료

서버 운영이나 개발 환경에서 특정 포트가 이미 사용 중이라 원하는 서비스를 실행하지 못하는 경우가 종종 있습니다. 이럴 때 해당 포트를 점유하고 있는 프로세스를 찾아 종료하고, 필요하다면 서비스 자체를 비활성화하거나 삭제하는 방법을 단계별로 정리합니다.

1. 포트 점유 프로세스 확인하기

1-1. netstat 명령어 사용

sudo netstat -tnlp | grep 
  • 예시: sudo netstat -tnlp | grep 8080

1-2. lsof 명령어 사용

sudo lsof -i :
  • 예시: sudo lsof -i :8080

1-3. ss 명령어 사용

sudo ss -lptn 'sport = :'
  • 예시: sudo ss -lptn 'sport = :8080'

2. 포트를 점유한 프로세스 종료하기

2-1. kill 명령어로 종료

  1. 위에서 확인한 PID를 사용해 종료:
sudo kill 
  1. 종료가 되지 않으면 강제 종료:
sudo kill -9 

2-2. fuser 명령어로 종료

sudo fuser -k /tcp
  • 예시: sudo fuser -k 8080/tcp

3. 서비스 중지 및 삭제

3-1. systemctl로 서비스 중지 및 비활성화

  1. 서비스 중지:
sudo systemctl stop 
  1. 부팅 시 자동 실행 비활성화:
sudo systemctl disable 

3-2. apt로 서비스 삭제

sudo apt remove 
  • 예시: sudo apt remove apache2

요약

  1. 포트 점유 프로세스 확인: netstat, lsof, ss 명령어 활용
  2. 프로세스 종료: kill, fuser 명령어 사용
  3. 서비스 중지 및 삭제: systemctl, apt 명령어로 관리
  4. 방화벽 차단(필요시): ufw, iptables로 포트 차단

실전 예시

# 1. 8080 포트 점유 프로세스 확인
sudo netstat -tnlp | grep 8080

# 2. 확인된 PID 종료
sudo kill 1234

# 또는 포트로 직접 종료
sudo fuser -k 8080/tcp

# 3. 서비스 중지 및 비활성화
sudo systemctl stop tomcat
sudo systemctl disable tomcat

# 4. 방화벽으로 포트 차단(필요시)
sudo ufw deny 8080

이 과정을 통해 우분투에서 특정 포트를 점유하는 서비스를 빠르고 안전하게 종료하고, 필요하다면 서비스 자체를 비활성화 또는 삭제할 수 있습니다. 반복적으로 문제가 발생한다면 서비스 자동 실행 설정을 점검하는 것도 좋은 방법입니다.

카테고리 다른 글