Lsof

lsof는 list open files(열려있는 파일 나열)을 뜻하는 명령으로, 수많은 유닉스 계열 운영 체제에서 열려있는 모든 파일과, 그 파일들을 열고 있는 프로세스들의 목록을 출력한다.  이 오픈 소스 유틸리티는 퍼듀 대학교 컴퓨팅 센터의 부소장으로 은퇴한 빅터 A. 아벨이 개발·지원하였다. 일부 유닉스 계열에서 동작하며 지원한다.

예 
시스템에 열려 있는 파일들로는 모든 프로세스가 열고 있는 디스크 파일, 지명 파이프, 네트워크 소켓, 장치를 포함한다. 지정되지 않은 파일들이 사용 중이라는 이유로 디스크를 마운트할 수 없을 때 이용하면 유용하다. 열려있는 파일들을 사용하고 있는 프로세스를 식별하기 위해 (필요 시 적절히 필터링도 가능) 사용할 수 있다.

# lsof /var
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
syslogd     350     root    5w  VREG  222,5        0 440818 /var/adm/messages
syslogd     350     root    6w  VREG  222,5   339098   6248 /var/log/syslog
cron        353     root  cwd   VDIR  222,5      512 254550 /var -- atjobs

데몬과 관련된 포트를 보는 방법은 다음과 같다:

# lsof -i -n -P | grep sendmail
sendmail  31649    root    4u  IPv4 521738       TCP *:25 (LISTEN)

위에서 "sendmail"을 보면 표준 포트 25를 대기하고 있는 것을 확인할 수 있다.

-i IP 소켓을 나열한다.
-n 호스트 이름을 결정하지 않는다 (DNS 없음).
-P 포트 이름을 결정하지 않는다 (이름 대신 포트 번호 나열).

lsof -U를 이용하면 유닉스 소켓을 나열할 수 있다.

같이 보기 
 fuser
 netstat
 strace

각주

외부 링크 
  
 
 
  Using lsof
  Troubleshooting Runnings Systems with lsof
  Lsof FAQ
  Sam Nelson's PCP script, an alternative to "lsof -i" for Solaris.
  Glsof is two separate utilities (Queries and Filemonitor) based on lsof.

유닉스 파일 시스템 관련 소프트웨어