반응형
급하신 분들을 위해 해결 방법부터 설명하고, 옵션에 대한 추가적인 설명을 하도록 하겠습니다.
1. 해결 방법 (포트 번호 8080 기준)
1) 터미널에서 lsof -i :8080 입력합니다.
터미널
$ lsof -i :8080
터미널에 lsof -i 8080 명령어를 입력하게 되면, 아래와 같이 해당 포트의 PID를 알수있습니다.
8080포트에서는 java가 실행중이고 PID는 1621인것을 알수있습니다.
2) 터미널에서 해당 PID를 종료시키기(PID 1621기준)
터미널
$ kill -9 1621
-9옵션은 강제 종료 옵션입니다. 뒤에 PID를 붙인 명령어를 입력해서 강제 종료합니다.
위 명령어를 입력하고 다시 lsof -i :8080으로 실행하고 있는지 조회해보면 제대로 종료 됐는지 확인할 수 있습니다.
2. 추가적인 옵션 설명
1) lsof (list open files 약자)
'lsof'는 열린 파일 목록(list open files)을 나타내는 명령어입니다.
다음은 macOS에서 'lsof' 명령어에 사용 가능한 옵션들입니다.
- '-c': 프로세스 이름으로 파일을 찾습니다.
- '-d': 파일 기술자 (file descriptor)를 찾습니다.
- '-g': 그룹 ID로 파일을 찾습니다.
- '-i': 네트워크 소켓을 찾습니다.
- '-n': 호스트 이름을 IP 주소로 해석하지 않습니다.
- '-P': 포트 번호를 숫자로 보여줍니다.
- '-p': 지정한 프로세스 ID의 파일을 찾습니다.
- '-u': 사용자 ID로 파일을 찾습니다.
- '-t': 지정한 파일 타입의 파일을 찾습니다.
2) kill
'kill' 명령어는 다른 프로세스를 중지시키는 명령어입니다.
'kill' 명령어에는 여러 옵션이 있습니다. 일반적으로 많이 사용되는 몇 가지 옵션을 살펴보겠습니다.
- '-9' : SIGKILL 시그널을 보내며, 프로세스를 즉시 강제 종료합니다.
- '-15' : SIGTERM 시그널을 보내며, 프로세스에게 정상적인 종료를 요청합니다.
- '-s' : 보낼 시그널을 지정합니다. 기본적으로 SIGTERM 시그널이 사용됩니다.
- '-l' : 사용 가능한 시그널 목록을 보여줍니다.
- '-u' : 프로세스의 유저 ID를 지정합니다.
- '-c' : 프로세스의 이름을 지정합니다.
반응형