본문 바로가기
쿤즈 Mac/사용 팁

[Mac] 맥에서 프로세스 킬 하는 방법(lsof)

by :)Koon 2022. 11. 5.

개발자로 일하는 저에게는 종종 사용하는 명령어가 아닐까 생각됩니다. 바로 사용 중인 포트를 찾아서 프로세스를 킬(kill)하는 명령어입니다. 맥은 윈도우 명령어다 보니 터미널에서 사용하는 명령이 편할 때가 많습니다.

이번 포스팅에서는 맥에서 내가 사용중인 포트를 검색하고 그 프로세스를 안전하게 종료시키는 방법을 알아볼게요.


프로세스 목록을 알려주는 명령어 lsof

프로세스 명령어를 알려주는 명령어는 lsof 입니다. 이 명령어의 뜻은 list open files의 약자로 현재 내 시스템에 열려있는 프로세스 및 파일의 종류들의 상세한 정보를 출력해주는 명령어입니다.

보통 리눅스에서 사용되는 명령어로 비슷하게 ps 라는 프로세스 리스트를 보여주는 명령어도 있습니다. 하지만 lsof는 열려있는 파일뿐만 아니라 포트를 검색해서 프로세스 정보를 보여주는 것으로도 사용하고 있습니다.

명령어는 아래와 같이 옵션과 함께 사용합니다.

$ lsof -i :8080

-i 옵션은 특정 포트를 찾아주는 옵션입니다. 그리고 뒤에 내가 사용하는 포트를 명시해 주면 됩니다. 이때 반드시 콜론(:)을 붙여서 포트를 적어야 옵션이 동작합니다. 저는 스프링 부트를 사용한 톰캣을 주로 올리기 때문에 8080 포트를 검색하는 일이 많았습니다.


프로세스 킬 명령어 kill

lsof를 이용해서 프로세스 리스트를 찾아오면 정보들이 나타납니다. 스프링부트 프로젝트를 실행시켰고 기본 포트인 8080 포트를 확인했습니다. 나타난 정보들을 보시면 아래와 같습니다.

COMMAND: 실행한 명령어
PID: Process ID
USER: 명령어 실행 사용자
FD: File Descriptor
TYPE: 파일 종류
DEVICE: 장치
SIZE/OFF: 파일의 크기나 오프셋 정보
NODE: 노드번호
NAME: 파일/프로세스명

저희의 목적은 프로세스를 킬 하는 것이기 때문에 원하는 정보는 PID입니다. 12971을 찾았으니 이제 안전하게 종료하도록 하겠습니다. 프로세스를 종료하기 위해서는 시스템에 종료 시그널을 보내야 합니다. 이때 사용하는 명령어는 kill 명령어입니다.

$ kill -9 12971


kill 에도 여러 가지 옵션이 있지만 프로세스 킬의 경우는 -9 옵션입니다. 그리고 뒤에는 위에서 찾은 PID를 넣어주시면 됩니다. 이렇게 해서 간단하게 프로세스를 킬 할 수 있습니다.


여러가지 옵션과 기능들이 있는 lsof

lsof 명령어는 포트 검색해서 프로세스를 찾아주는 것은 옵션일 뿐 파일의 정보를 출력하는 명령어로 사용합니다. 단순히 lsof 만 입력하면 내가 현재 사용하는 모든 파일의 리스트들이 나타나며 여러 가지 정보를 담고 있습니다. 맥에서는 대부분의 리눅스 명령어들을 쉽게 사용할 수 있기 때문에 리눅스를 조금이라도 다뤄보셨다면 쉽게 사용할 수 있을 것 같습니다.


이번 포스팅에서는 lsof를 이용해서 프로세스 정보를 찾아보고 안전하게 종료하는 kill 명령어를 알아보았습니다. lsof는 단순하게 파일의 프로세스 정보를 알아볼 뿐만 아니라 오픈되어 있는 파일의 정보를 볼 수 있는 명령어이기 때문에 알아두면 편리하게 사용할 수 있는 부분들도 있습니다. 도움이 되셨으면 합니다. 이상입니다.

댓글