lsof(LiSt Open File)
개요
현재 System에서 돌아가는 모든 Process에 의해서 Open 된 파일들에 대한 정보를 보여준다.
리눅스와 유닉스는 추상화된 파일 시스템(VFS - Virtual File System)을 사용하므로 네트워크 소켓, 라이브러리등 모두 파일로 처리되므로 lsof를 통해 상세한 정보를 확인 할 수 있음.
항목 설명
COMMAND : 현재 실행되고 있는 명령어
PID : 프로세스 ID
USER : 실행한 사용자
FD : File Descriptor
FD 값
cwd : current working directory
rtd : root directory
mem : memory-mapped file
txt : program text
r : read access
w : write access
u : read and write access
TYPE : 파일 종류
Type 값
DIR : 디렉토리
CHR : character special file
FIFO : 선입선출
REG : 일반파일
unix : 유닉스 도메인 소켓(TCP/UDP 보다 속도가 빠름)
DEVICE : 장치 번호
SIZE/OFF : 파일의 크기나 오프셋
NODE : 노드 번호
NAME : 파일명
Options
-c : 해당 명령어가 사용하고 있는 파일들에 대해서 출력한다.
-t : 현재 동작되고 있는 프로세서의 PID를 출력한다.
-p : 해당 pid가 참조하고 있는 프로그램과 파일들을 출력
-i : 현재 열려있는 소켓들에 대해서 출력한다.
+D : 특정 디렉토리 이하의 열려있는 파일들에 대해서 출력한다.
ex)lsof [-option] 값
특정 포트 사용 조회 > lsof -i TCP:[PORT number]
#/usr/local/bin/lsof -i TCP:11736
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 14121 jeus 136u IPv4 0xe0000005f8f0ad00 0t917 TCP 127.0.0.1:30044->127.0.0.1:11736 (ESTABLISHED)
java 14395 jeus 113u IPv4 0xe00000054a97c980 0t0 TCP *:11736 (LISTEN)
특정 PID 사용 조회 > lsof -p [PID]
#/usr/local/bin/lsof -p 8791
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 8791 jeus cwd DIR 2,0x3a99 1024 31 /logs/jeus/dump
java 8791 jeus txt REG 64,0x3 150676 197133 /opt/java6/jre/bin/IA64N/java
java 8791 jeus mem REG 64,0x3 411676 26289 /usr/lib/nls/loc/hpux32/locales.3/ko_KR.eucKR
java 8791 jeus 0r FIFO 0xe0000003ea675a88 0t0 123437066
java 8791 jeus 6u unix 64,0x3 0t0 189233 /var/spool/sockets/pwgr/client8791 (0x1508e680)
java 8791 jeus 107u CHR 192,0 0t0 174 /dev/random
java 8791 jeus 115u IPv4 0xe00000054ba85100 0t0 TCP *:11861 (LISTEN)
java 8791 jeus 118u IPv4 0xe00000045a464100 0t10042 TCP 127.0.0.1:28859->127.0.0.1:11736 (ESTABLISHED)
특정 디렉토리 이하의 열린 파일 조회 > lsof +D [디렉토리]
#/usr/local/bin/lsof +D /src/web/WEB-INF/lib
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 20808 jeus 142u REG 2,0x3a98 621839 2777605 /src/web/WEB-INF/lib/BarCode.jar
java 20808 jeus 143u REG 2,0x3a98 1455 2777871 /src/web/WEB-INF/lib/CardDes.jar
java 20808 jeus 144u REG 2,0x3a98 8566 2777894 /src/web/WEB-INF/lib/CertVerifierClient_v2.1.1.jar
java 20808 jeus 145u REG 2,0x3a98 25441 2778032 /src/web/WEB-INF/lib/D3SocketClient.jar
특정 명령어가 사용하는 파일 조회 > lsof -c [명령어]
#/usr/local/bin/lsof -c tail
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tail 22378 jeus cwd DIR 2,0x3a99 5120 11323 /logs/online-log/
tail 22378 jeus txt REG 64,0x3 74900 296 /usr/bin/tail
tail 22378 jeus mem REG 64,0x3 411676 26289 /usr/lib/nls/loc/hpux32/locales.3/ko_KR.eucKR
tail 22378 jeus mem REG 64,0x3 5094520 58648 /usr/lib/hpux32/libc.so.1
tail 22378 jeus mem REG 64,0x3 86960 26399 /usr/lib/nls/loc/hpux32/methods.1/libHP15.so
tail 22378 jeus mem REG 64,0x3 191436 209651 /usr/lib/hpux32/uld.so
tail 22378 jeus mem REG 64,0x3 76736 209649 /usr/lib/hpux32/libdl.so.1
tail 22378 jeus mem REG 64,0x3 1170536 209648 /usr/lib/hpux32/dld.so
tail 22378 jeus 0u REG 2,0x3a99 5633482 80738 /logs/online-log/2018debug.log
tail 22378 jeus 1u STR 157,0x7 0t9456571 807 /dev/pts/7->ldterm->ptem->pts
tail 22378 jeus 2u STR 157,0x7 0t9456571 807 /dev/pts/7->ldterm->ptem->pts
tail 22378 jeus 3r REG 64,0x3 661 24497 /usr/lib/nls/msg/ko_KR.eucKR/tail.cat
TCP 포트 11736번을 사용하는 PID 리스트 조회 > lsof -t -i TCP:11736
#/usr/local/bin/lsof -t -i TCP:11736
11726
14121
14395
14448
lsof를 이용한 특정 user의 프로세스 강제 종료 > kill -9 `lsof -t -u [유저명]`
'IT > OS (Unix Linux Windows)' 카테고리의 다른 글
[명령어]touch (0) | 2018.10.30 |
---|---|
[명령어]파일시스템 관련 df / du (0) | 2018.10.30 |
[명령어]압축관련 tar / gzip (0) | 2018.10.30 |
[명령어]netstat (0) | 2018.10.24 |
정규표현식의 사용(작성중) (0) | 2018.10.17 |