PID / 포트 번호 확인 및 프로세스 종료

Jan 30, 2024
PID / 포트 번호 확인 및 프로세스 종료

<실행 중인 포트 확인하는 법, 프로세스 종료하는 법>

PID 번호 확인법

notion image
운영 체제(OS)는 프로세스를 유일하게 구분하기 위해 PID(Process ID)를 사용 PID는 각 프로세스에 할당된 고유한 식별자로, OS에서 프로세스를 관리하는 데 사용 (데이터베이스의 유일키와 비슷하다)
💡
작업 관리자의 서비스에서 확인할 수 있다. (상태를 보면 실행 중인지도 확인 가능!)
💡
PID = 실행 중인 각 프로세스에 고유하게 할당되는 식별자 서버 소켓 포트 번호 = 네트워크 통신을 위해 사용되는 포트 pid와 서버 소켓 포트 번호는 다르다!
 

PID 강제 종료 - taskkill

taskkill /f /pid 프로세스 아이디
notion image
notion image
taskkill 명령어를 사용해서 MariaDB를 중지했다.
💡
리눅스는 - 라고 사용, 윈도우는 /f 사용해서 pid 삭제
 

왜 강제 종료가 필요한지?

소켓 서버나 포트를 사용하는 프로세스가 메인이 종료되면 같이 종료되어야 하는데 가끔 버그로 종료되지 않는 경우가 발생할 수 있다. (윈도우에서는 종료된 것처럼 보이지만 실제로는 계속 실행되고 있음!) 그럼 ui에서 애를 끄지 못하고, 제어판에서도 끄지 못한다. 이게 바로 포트 충돌. (이미 실행 중인 프로세스가 해당 포트를 점유 중) (포트 8000번으로 돌고 있는 서버라면 [ 8000 port already in use ] 라는 에러가 뜬다.) 때문에 작업 관리자 > 서비스 탭에서 해당 프로세스를 찾아 죽여야한다.

[ 마리아DB로 예시 ]

3306번은 MariaDB의 서버 소켓 포트 번호. 기본적으로 3306번 포트를 사용하여 통신한다. 애초에 설치할 때부터 3306번으로 통신한다는걸 알아야 한다!! 그래야 3306 already in use 라고 떴을 때, 버그가 발생한 프로세스가 마리아DB인걸 파악하고, 중지가 됐는데 계속 돌고 있네? > cmd에서 확인, 종료(taskkill)할 수 있다.
 

죽은 프로세스 실행시키기 (2가지 방법)

[ 방법 1 ] (+netstat -ano)

  1. Command Prompt 실행
notion image
지금은 MariaDB를 살릴 것임. Command Prompt 실행
 

  1. mariadb의 데몬파일 실행 (bin폴더 접속)
프로그램 실행이 가능하려면 2진 데이터로 컴파일되어야 한다. (=2진 데이터로 바꿔야해서) 이러한 실행 파일은 주로 "bin" (또는 "binary") 폴더에 모여 있다. "bin" 폴더는 실행 파일이 위치하는 디렉토리
notion image
💡
이렇게 끝에 d가 붙어있다 = 데몬파일이다
데몬 파일을 실행하면 액세스를 허용하겠습니까? 윈도우의 방화벽 때문에 이렇게 나옴. (방화벽은 모든 포트번호를 막아놓으니까) 허용을 해주자 그러면 이상한 cmd창이 뜰건데, 이거.. 방법1을 쓸 때는 이거 끄면 안된다 실행을 했는데....?
 

notion image
중지됨?? 정상 작동하고 있는지 확인해보자
 

 
💡
netstat -ano
notion image
해당 키워드를 사용하면 실행되고 있을 때, 포트번호 3306이 나온다. 그럼 실행되고 있는 것. 이렇게 작업 관리자 - 서비스랑 실제로 실행되고 있는 프로세스가 안맞을 수 있다. 그때, netstat -ano를 써서 확인해보자!
 

[ 방법 2 ] - 간편!

서비스에 들어가서 mariaDB를 우클릭 > 실행 을 눌러주자...
💡
서비스 > mariaDB 우클릭 > 실행 > 서비스 열기 > mariaDB 찾기 > 속성
notion image
속성에 들어가서 상태가 실행 중인 걸 확인했다.
💡
이거 할 때, MariaDB의 데몬 실행 파일이 켜져 있다면 꼭! 끄고 하기
 

시작 유형 설정 (수동, 자동)

서비스 검색 > 시작 유형 변경하려는 서비스 찾은 후 > 우클릭 > 속성
notion image
자동이나 수동으로 설정하라. 선생님은 수동으로 실행하신대. 워낙 실행되고 있는 프로세스가 많아서...
💡
시작유형이 자동이면 윈도우가 부팅될 때 자동으로 실행되는 것 (자동 시작 프로그램은 주로 시스템 서비스나 백그라운드 응용 프로그램으로 사용)
💡
만약, 재부팅해서 확인했는데도 돌고 있다? 윈도우 시작할 때부터 돌게 끔 설정되어 있는 것이니 이걸 확인하자!
 
 
 
 
 
 
 

 
💡
PID로 악성 프로그램을 찾을 수 있다
 
Share article

codingb