특정 포트 및 특정 포트가 사용하는 프로그램 확인 후 프로그램 죽이기
netstat, lsof, fuser 명령어를 이용하였습니다.
netstat 와 lsof 명령어를 통해 5432 프로토콜을 사용하고 있는 프로그램을 확인 후
fuser 명령어로 해당 프로그램(프로세스)를 죽여보겠습니다.
1. 특정 포트를 사용하는 아이피 확인
- netstat 명령어를 통해 특정포트가 사용하는 아이피를 볼 수 있습니다.
- netstat -anp | grep port
1
2
3
4
5
6
7
8
9
|
[root@centos ~]# [root@centos ~]# netstat -anp | grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1962/postgres tcp 0 0 ::1:5432 :::* LISTEN 1962/postgres unix 2 [ ACC ] STREAM LISTENING 16507 1962/postgres /tmp/.s.PGSQL.5432 unix 3 [ ] STREAM CONNECTED 16702 1973/postgres /tmp/.s.PGSQL.5432
[root@centos ~]# [root@centos ~]#
|
2. 특정 포트를 사용하는 프로그램(파일) 확인
- lsof 명령어는 리눅스 시스템에서 열려있는 파일의 목록을 디스플레이 해줍니다.
또한 사용하고 있는 프로세스 및 디바이스 정보 그리고 파일 종류등에 대해 알려줍니다.
- lsof -i 명령어로 TCP 프로토콜의 5432 포트를 사용하는 프로그램(파일)에 대해 확인할 수 있습니다.
- lsof -i TCP:port
- COMMAND : 명령어
PID : 프로세스 아이디
USER : 해당 커맨드를 사용한 유저
FD : 파일 디스크립터
TYPE : 파일 종류 또는 인터넷 프로토콜
DEVICE : 디바이스 번호
SIZE/OFF : 파일 크기 또는 오프셋
NODE : 노드번호 또는 프로토콜
NAME : 파일명(프로그램명)
1
2
3
4
5
6
7
8
9
|
[root@centos ~]# [root@centos ~]# [root@centos ~]# lsof -i TCP:5432 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME postgres 1962 postgres 3u IPv6 16504 0t0 TCP localhost:postgres (LISTEN)
postgres 1962 postgres 4u IPv4 16505 0t0 TCP localhost:postgres (LISTEN)
[root@centos ~]# [root@centos ~]#
|
3. 특정 포트 사용하는 프로그램(파일) 죽이기
- fuser 명령어로 tcp 프로토콜의 5432 포트를 사용하는 프로그램(파일)을 죽일 수 있습니다.
- fuser 명령어는 특정 파일(프로그램) 또는 포트를 어떤 프로세스에서 사용하는지 확인할 때 사용합니다.
아래에서 -k 옵션은 지정된 파일 또는 포트와 관련된 프로세스를 죽입니다.(KILL)
-n 옵션은 File , UDP , TCP 를 지정해줄 수 있습니다.
- fuser -k -n tcp port
1
2
3
4
5
6
|
[root@centos ~]# [root@centos ~]# fuser -k -n tcp 5432
5432/tcp: 1962 [root@centos ~]# [root@centos ~]#
|
4. 해당 프로그램이 죽었는지 확인
- lsof 명령어로 확인해보면 5432포트에 해당하는 프로그램이
정상적으로 죽은것을 볼 수 있습니다.
123456[root@centos ~]#[root@centos ~]#[root@centos ~]#[root@centos ~]# lsof -i TCP:5432[root@centos ~]#[root@centos ~]#
댓글