OS/AIX

[Tips] AIX에서 socket 사용 중인 프로세스 찾기

투칼론 2017. 7. 24. 19:27
반응형
AIX에서는 해당 socket을 사용하는 프로세스를 찾기 위해서는 약간의 workaround가 필요하다. 참고로, LINUX같은 경우에는 netstat -p  옵션을 사용하면 해당 포트를 사용하고 있는 프로세스를 쉽게 검색 할 수 있다.
AIX에서는 아래 3가지 방법을 주로 사용한다.


1. lsof 툴 활용

* 별도 lsof 패키지 설치 필요함
* $ lsof  -i:[포트번호]  명령어를 사용하면 됨
* 자세한 사용법은 아래 블로그 글 참조할 것



2. netstat와 rmsock 활용

* netstat 명령어로 fd(File descriptor) 값을 구한 후, 해당 fd를 삭제 시도 시에 해당 fd를 사용하고 있는 프로세스 ID를 출력하는 방법이다.


1) 해당 포트의 File Descriptor 찾기

netstat  -Aan  | grep  [포트번호]

예) netstat -Aan | grep  ".80"

f10007000864ebb0 tcp        0      0  *.80            *.*                LISTEN



2) 해당 File Descriptor를 가지고 있는 Socket 삭제 시도해서 사용 중인 프로세스 ID 출력하기

rmsock  [File Descriptor]  tcpcb

예) 

$ rmsock f10007000864ebb0 tcpcb

The socket 0x864e808 is being held by proccess 989321 (java).


위의 예에서 해당 80 포트를 java 프로세스(989321)가 사용 중이다.


3) 해당 프로세스명 찾기


예)

$ ps -ef | grep 989321

root  989321  989300   0   July 15      -  4:12  /usr/jdk16/bin/java


3. netstat와 kdb 활용

* kdb는 별도 패키지를 설치 필요함
* netstat 명령어로 fd(File descriptor) 값을 구한 후, kdb를 실행한 후, sockinfo 명령어로 해당 fd를 사용하고 있는 프로세스 ID를 출력하는 방법이다.


1) 해당 포트의 File Descriptor 찾기

netstat  -Aan  | grep  [포트번호]

예) netstat -Aan | grep  ".80"

f10007000864ebb0 tcp        0      0  *.80            *.*                LISTEN


2) 해당 fd를 사용하고 있는 프로세스ID 찾기

$ kdb

(0)> sockinfo 70593de4 tcpcb

---- TCPCB ----(@ 70593DE4)----

seg_next...... 70593DE4 seg_prev...... 70593DE4

t_softerror... 00000000 t_state....... 00000001 (LISTEN)

t_timer....... 00000000 (TCPT_REXMT)

....

....

sndtime. 00000000 sec 00000000 usec rcvtime. 00000000

sec 00000000 usec

proc/fd: 30/5

proc/fd: fd: 5

SLOT NAME STATE PID PPID PGRP UID

pvproc+003C00 30*httpd ACTIVE 01E38 01170 01E38 00000 


(0)> hcal 01E38

Value hexa: 01E38 Value decimal: 8934


(0)> quit


3) 프로세스ID의 프로세스 정보 찾기


$ ps -ef | grep 8934
root 8934 1 0 Jul 11 - 0:12 /usr/sw/apache/bin/httpd



'OS > AIX' 카테고리의 다른 글

[명령어] errrpt 사용법  (0) 2018.07.25
[Tips] 장치 관련 명령어(lsdev, lscfg, lsattr)  (0) 2018.03.31
[정보] Keepalive 관련 파라미터  (0) 2018.01.20
[정보] AIX oslevel 명령어  (0) 2017.12.03
[명령어] lsof 설명  (0) 2016.09.09