본문 바로가기
CS

[Linux] lsof 명령어의 개념 / 사용 방법에 대해

by Warehaus 2022. 2. 28.

 

 

안녕하세요 warehouse 입니다.

 

오늘은 우연히 회사에서 lsof 를 사용하게 되었는데요, 제대로 알지 못하고 필요한 목적으로만 사용하다보니 발전이 없더라구요.

 

그래서 생각만 하면서 미뤄 온 포스팅을 드디어 하게되었습니다.

 

 

 

lsof 의 개념

 

lsof 의 개념은 위키에 잘 나와있어요

 

List open files의 약자이고 열려있는 파일의 정보를 제공해 주는 명령어 입니다.

 

유닉스 계열 운영체제에서 열려있는 파일과 그 파일을 열고 있는 프로세스의 목록을 출력해 주는 오픈소스로 제작 된 lsof 유틸리티 입니다.

 

참고 : 위키백과

 

 

lsof - 위키백과, 우리 모두의 백과사전

lsof는 list open files(열려있는 파일 나열)을 뜻하는 명령으로, 수많은 유닉스 계열 운영 체제에서 열려있는 모든 파일과, 그 파일들을 열고 있는 프로세스들의 목록을 출력한다. 이 오픈 소스 유틸

ko.wikipedia.org

 

 

lsof 의 사용

 

그래서 lsof 는 어떤 경우에, 어떻게 사용해야 할까요?

 

앞에서 설명했던 대로 lsof 는 열려있는 파일들 그리고 그 파일을 사용하는 프로세스를 출력 하는데요

 

저는 주로 특정 파일이 수정이 불가할 때, 어떤 사람이 사용하고 있는지 확인하기 위해서 lsof를 많이 사용합니다.

 

그리고 거의 같은 이유이기는 한데, 프로그래밍을 하다보면 파일이 열려있어서 exception이 떨어지는 경우가 있어요. 이런 경우에 debugging 용도로도 사용하는 것 같습니다.

 

아, 그리고 저는 socket 기반 통신을 사용하는 service 를 운영하는데, socket이 열려있는 수준을 확인하기 위해서도 활용하고 있어요.

 

정리하면, 제가 주로 사용하는 목적은 아래와 같습니다.

 

1. 파일 수정이 불가능한 경우, 프로세스 확인 후 account 확인 목적

2. Process에서 file read / write 관련 debugging

3. Socket 통신 connection count 목적

 

 

이번 포스팅 에서는 lsof 의 개념와 사용 목적에 대해 알아봤습니다.

세부 명령어와 옵션 사용 방법은 다음 포스팅에 이어서 작성하겠습니다.

 

 

감사합니다.