kill -9 PID를 했는데도 해당 프로세스가 종료되지 않는 이슈가 발생했다.
일단 이유부터 알아보자
원인
해당 프로세스가 독립적으로 실행된게 아니라 다른 프로세스를 거쳐서 실행된 경우 이런 증상이 발생한다.
즉, 부모 프로세스(PPID)가 있는 경우에 좀비 프로세스가 만들어지는 것이다.
이슈 발생 확인
gunicorn을 사용해서 어떠한 프로세스를 실행했는데, 실수로 cmd창을 끄게되어 다시 실행하려고 했다.
netstat를 사용해서 내가 사용중이던 포트를 찾았다.
> netstat -nltp | grep 포트번호
결과 : tcp 0 0 IP:포트번호 0.0.0.0:* LISTEN PID번호/python
>kill -9 포트번호
>netstat -nltp | grep 포트번호
결과 : tcp 0 0 IP:포트번호 0.0.0.0:* LISTEN PID번호가 바뀜/python
위에처럼 kill -9를 했는데도 안죽는다(sudo로 해도 안된다)
해결
1) netstat -nltp | grep 포트번호로 PID 번호를 먼저 찾는다.
2) ps -ef | grep 찾은 PID번호
3) 사용자명 / 찾은 PID번호 / PPID번호 / 0 / 실행일 / 실행프로세스 경로
4) kill -9 PPID번호로 죽이면 된다.
5) 이후 1)에서 실행중인 프로세스를 다시 찾고, kill -9 PID번호로 실행중인 프로세스를 마저 종료하면 끝!
코드
netstat -nltp | grep 포트번호
ps-ef | grep 찾은 PID번호
kill -9 PPID번호
끝!
728x90
반응형
'프로그래밍' 카테고리의 다른 글
[Tistory / javascript] 웹 페이지, 개발자 도구를 사용하는지 감지하고 원하는 동작 추가하기 (0) | 2023.12.26 |
---|---|
[AWS / MySQL]AWS의 MySQL 한글깨짐 문제 해결 / 인코딩 utf-8 -solved (0) | 2023.12.12 |
[JSON / Python]json.decoder.JSONDecodeError: Expecting value: 에러 -Solved[해결됨] (0) | 2023.12.05 |
[PID] PID 프로세스 이름으로 kill하기 / how to kill PID using Process name(Window / Linux Command) (0) | 2023.11.13 |
[Linux]Crontab이 실행되지 않을 때 해결방법 (0) | 2023.05.18 |