lsof 란 ?
lsof
는 List Open Files
의 약자이고, 시스템에서 열린 파일 목록을 보여준다.
여러가지 옵션이 많지만 주로 아래 명령어들만 사용했다.
특히 특정 프로세스가 file 을 열고 닫지 않아서 발생하는 error 및 crash 를 잡을 때 lsof - p
를 이용하면 어떤 파일을 닫지 않아 fd leak
이 발생하는지 알 수 있어서 코드 상 수정해야할 부분을 캐치하기 쉽다.
또 소켓 프로그래밍을 하는 경우엔 포트 점유 목록을 출력하는 명령어가 도움이 될 수 있겠다.
A. 열린 파일 목록 모두 출력
1 | lsof |
B. 특정 프로세스의 열린 파일 목록 출력
1 | # -p 다음에 pid 를 입력하면 된다 |
C. TCP 포트 점유 목록 출력
1 | # 아래는 22번 TCP 포트를 점유하는 pid 및 fd 를 출력한다 |