Linux

[ Linux ] fuser - 누가 파일/포트를 점유 중인지 확인하기

soyali 2025. 5. 29. 16:36

리눅스를 사용하다 보면 파일이나 디렉터리가 "사용 중"이라 삭제가 안 되거나, 포트가 이미 사용 중이라 서비스를 실행할 수 없을 때가 있습니다.

 

이럴 때 유용하게 쓰이는 명령어가 바로 **fuser**입니다.


fuser는 특정 파일, 디렉터리, 포트 등을 누가 사용 중인지 알려주는 도구입니다.

 

 

fuser란?

  • "File User"의 줄임말
  • 특정 **리소스를 사용 중인 프로세스의 PID(프로세스 ID)**를 출력해줍니다.
  • 파일, 디렉터리, 소켓, 포트 등에 모두 사용할 수 있습니다.

 

기본 사용법

fuser [옵션] [대상 파일 or 포트]

 

 

사용 예제

 

1. 파일을 사용 중인 프로세스 확인

fuser testFile.txt

응답 

testFile.txt: 1234

→ 이 파일을 PID 1234 프로세스가 사용 중이라는 의미

 

 

2. 디렉터리 사용 중인 프로세스 확인

fuser /mnt/usb

→ USB 같은 디렉터리가 "사용 중이라 마운트 해제 안 될 때" 유용

 

 

3. 포트 사용 중인 프로세스 확인

fuser -n tcp 80

→ TCP 80번 포트를 어떤 프로세스가 점유 중인지 확인

 

 

 

자주 사용하는 옵션

-v 상세 출력 (사용자, 액세스 종류 등 표시)
-k 해당 리소스를 사용하는 프로세스 강제 종료
-n [space] 네트워크 네임스페이스 지정 (tcp, udp 등)
-u PID와 함께 사용자 이름도 출력
-i -k 옵션과 함께 사용 시, 종료 여부를 확인(prompt)

 

 

실무에서 자주 쓰는 조합

 

* 어떤 포트가 점유 중인지 확인 + 종료

fuser -n tcp -v 8080 # 누가 8080 사용 중인지 보기
sudo fuser -k -n tcp 8080 # 점유한 프로세스 강제 종료

 

 

* 디렉터리 사용 중인 프로세스 죽이기

sudo fuser -k /mnt/usb

→ 마운트 해제 전에 디렉터리를 점유한 프로세스 종료

 

주의 사항

  • fuser -k는 강제로 프로세스를 종료하므로, 데이터 손실 우려가 있는 경우 신중하게 사용해야 합니다.
  • 루트 권한이 필요할 수 있으므로, 경우에 따라 sudo를 붙여야 합니다.

 

 

마무리

fuser는 평소엔 잘 안 쓰다가도,

  • "포트가 사용 중입니다"
  • "디렉터리가 busy 상태입니다"
    이런 메시지를 보면 꼭 필요해지는 유틸리티성 명령어입니다.

특히 포트 충돌, 마운트 문제, 로그 파일 점유 상태 확인 등에서 fuser는 아주 빠르고 정확한 문제 해결 도구가 됩니다.