lsof

lsof 는 list open files 의 약자로 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스, 디바이스 정보, 파일의 종류등 상세한 정보를 출력해 준다.

리눅스와 유닉스는 추상화된 파일 시스템(VFS - Virtual File System)을 사용하므로 일반 파일, 디렉터리, 네트워크 소켓, 라이브러리, 심볼릭 링크 등도 모두 파일로 처리되며 lsof 에서 상세한 정보를 확인할 수 있다.

유닉스마다 고유의 lsof 와 비슷한 용도의 명령어가 있지만 명령어와 옵션이 제각각이고 출력 정보가 상이하여 OS 가 바뀌면 사용하기가 힘들다.

lsof 는 리눅스, AIX, Solaris, FreeBSD, Mac OS X 등 종류에 상관없이 일관된 옵션과 출력 형식을 갖는 장점이 있다.

  • 죽은 프로세스 확인
   sudo lsof +L1
  • 어떤 프로세스가 어떤 포트를 사용하고 있는가?
   lsof -i
  • 특정 파ㅣㄹ을 억세스하고 있는 프로세스 확인
   lsof [파일] (예 : lsof /etc/passwd)
  • 특정 호스트에 대한 접속 확인
   lsof [email protected][ip주소] (예 : lsof [email protected],168.0.10)
  • 특정 포트로 접속한 리스트 확인
   lsof -i @[주소]:[포트] (예 : lsof -i @technet.tmaxsoft.com:23 )
  • 특정 user가 오픈한 프로세스를 확인
   lsof -u [user명] (예 : lsof -u blue )
+특정사용자 제외시 '^' 심볼을 사용, 여러명을 동시에 지정하려면 ','를 이용
(예 : lsof -u ^root, blue, green )
  • 특정 프로세스가 오픈한 파일 리스트 확인
   lsof -p [pid] (예 : lsof -p 9122 )

연결문서