포트 종료 명령어 전역적으로 사용하기

cochae·2023년 5월 11일
1

ubuntu 활용법

목록 보기
1/2

회사에서 개발하다보면 여러 프로젝트를 동시에 실행해 다수의 포트를 사용하게 된다.
실수로 터미널을 닫고 다시 서버를 실행하면 이미 그 포트를 사용 중이라는 메세지가 뜬다.

이런 경우 포트번호를 변경하거나, 실행되고 있는 로컬 서버를 종료시켜야하는데,
포트를 종료시키는 명령어를 기억하기 어렵다. ㅎㅎ

맨날 노션에 적어두고 필요할 때 찾아서 썼는데
그 보단 bash alias와 같이 단축어로 설정하면 좋겠다고 생각했다.

포트 종료 명령어 설정하기

kl 80

위와 같이 kl <포트번호> 입력 시 해당 포트번호의 로컬 서버를 종료하는 명령어를 설정하려고 한다.

kl은 kill의 약어로 사용했고, 각자 원하는 단어로 설정하면 된다.

1. /usr/local/bin 경로에 파일을 작성한다.

/usr/local/bin 디렉토리에 파일을 추가하려면 root 권한이 필요하다.
다음과 같이 sudo를 사용해 파일을 작성하자.

cd /usr/local/bin
sudo vi kl

2. 파일에 아래의 스크립트를 입력한다.

port=$1
if [[ -z $port ]]; then
  echo "사용법: kl <포트번호>"
  exit 1
fi
sudo kill $(sudo lsof -t -i:$port)

위 스크립트는 사용자가 입력한 포트 번호를 변수에 할당한 후, 해당 변수를 이용하여 kill 명령어를 실행한다.
포트 번호가 입력되지 않은 경우 사용법을 출력하고 종료한다.

복붙했다면 esc를 누르고 :wq!을 입력해 저장하고 vi를 종료한다.

3.작성한 파일에 실행 권한을 부여한다.

sudo chmod +x /usr/local/bin/kl

실행 권한을 제대로 줬는지는 ls -al명령어를 입력하면 파일이나 폴더의 권한을 확인 할 수 있다.

이제 어느 경로에서든 "kl <서버번호>" 명령어를 사용할 수 있다.

제대로 적용됬다면 터미널에 kl만 치면 사용법을 보여준다.

에서도 위와 같이 설정하면 kl 명령어를 사용하여 프로세스를 종료할 수 있다.

한 가지 다른 부분은 만약 /usr/local/bin 디렉토리가 없다면 생성이 필요하다는 것이다. 그 외엔 똑같다.

sudo mkdir -p /usr/local/bin

0개의 댓글