Linux fuser 사용하는 방법 (파일이나 디스크를 사용하는 프로세스 확인하기)

Linux 서버를 운영하다 보면 파일을 삭제하거나 디스크를 마운트 해제하려는 순간 “Device or resource busy”, “target is busy” 와 같은 오류가 발생하는 경우가 있습니다. 이러한 오류는 대부분 다른 프로세스가 해당 파일이나 디스크를 사용하고 있기 때문에 발생합니다.

이럴 때 사용하는 명령어가 fuser입니다. fuser는 특정 파일, 디렉터리, 포트, 파일 시스템을 현재 사용 중인 프로세스를 확인하거나 종료할 수 있는 Linux 관리 도구입니다. 서버 유지보수와 장애 해결 과정에서 매우 자주 사용하는 명령어입니다.

이번 글에서는 Linux에서 fuser 명령어를 사용하는 방법과 활용 사례를 자세히 알아보겠습니다.

fuser 명령어란?

fuser는 특정 파일이나 디렉터리, 파일 시스템을 사용 중인 프로세스를 확인하는 명령어입니다.

필요한 경우 해당 프로세스를 종료할 수도 있습니다.

디스크를 마운트 해제할 수 없을 때 가장 많이 사용하는 명령어 중 하나입니다.

기본 사용법은 다음과 같습니다.

fuser 대상

예를 들어 /data 디렉터리를 사용하는 프로세스를 확인하려면 다음 명령어를 실행합니다.

fuser /data

디렉터리를 사용하는 프로세스 확인하기

특정 디렉터리를 사용하는 프로세스를 확인하려면 다음 명령어를 사용합니다.

fuser /data

해당 디렉터리를 사용 중인 프로세스 ID(PID)가 출력됩니다.

파일을 사용하는 프로세스 확인하기

특정 파일을 사용하는 프로세스를 확인하려면 다음 명령어를 실행합니다.

fuser /var/log/messages

현재 해당 파일을 사용 중인 프로세스를 확인할 수 있습니다.

자세한 정보 확인하기

프로세스 정보를 자세히 확인하려면 -v 옵션을 사용합니다.

fuser -v /data

다음 정보를 확인할 수 있습니다.

  • 프로세스 ID
  • 사용자
  • 접근 방식
  • 실행 중인 명령어

실무에서는 -v 옵션을 가장 많이 사용합니다.

파일 시스템을 사용하는 프로세스 확인하기

파일 시스템 전체를 사용하는 프로세스를 확인하려면 -m 옵션을 사용합니다.

sudo fuser -m /dev/sdb1

해당 파일 시스템을 사용하는 모든 프로세스가 출력됩니다.

디스크를 마운트 해제하기 전에 자주 사용하는 방법입니다.

특정 포트를 사용하는 프로세스 확인하기

네트워크 포트를 사용하는 프로세스도 확인할 수 있습니다.

예를 들어 80번 포트를 확인하려면 다음 명령어를 실행합니다.

fuser 80/tcp

현재 해당 포트를 사용하는 프로세스를 확인할 수 있습니다.

웹 서버 점검 시 자주 사용하는 기능입니다.

프로세스 종료하기

사용 중인 프로세스를 종료하려면 -k 옵션을 사용합니다.

sudo fuser -k /data

해당 파일이나 디렉터리를 사용하는 프로세스가 종료됩니다.

주의해서 사용해야 하는 옵션입니다.

마운트 해제 전에 사용하기

디스크를 해제할 때 “target is busy” 오류가 발생한다면 먼저 다음 명령어를 실행합니다.

sudo fuser -vm /dev/sdb1

어떤 프로세스가 디스크를 사용 중인지 확인한 후 필요하면 종료하고 umount를 다시 실행하면 됩니다.

fuser와 lsof의 차이

fuser는 특정 파일이나 파일 시스템을 사용하는 프로세스를 빠르게 확인하는 데 적합합니다.

lsof는 열린 파일(Open File) 전체를 상세하게 확인하는 데 적합합니다.

장애 분석에서는 두 명령어를 함께 사용하는 경우가 많습니다.

fuser 사용 시 주의할 점

-k 옵션은 실행 중인 프로세스를 강제로 종료합니다.

운영 서버에서는 서비스에 영향을 줄 수 있으므로 종료하기 전에 반드시 어떤 프로세스인지 확인하는 것이 좋습니다.

특히 데이터베이스나 웹 서버 프로세스는 신중하게 관리해야 합니다.

자주 묻는 질문

디스크를 사용하는 프로세스는 어떻게 확인하나요?

다음 명령어를 사용합니다.

sudo fuser -m /dev/sdb1

자세한 프로세스 정보도 확인할 수 있나요?

가능합니다.

다음 명령어를 사용합니다.

fuser -v /data

프로세스를 종료할 수도 있나요?

가능합니다.

다음 명령어를 사용합니다.

sudo fuser -k /data

마무리

fuser는 Linux에서 파일, 디렉터리, 파일 시스템, 네트워크 포트를 사용하는 프로세스를 확인하는 매우 유용한 관리 명령어입니다. 특히 “target is busy” 오류를 해결하거나 디스크를 안전하게 마운트 해제할 때 자주 활용됩니다. fuser, lsof, mount, umount 명령어를 함께 사용하면 파일 시스템과 프로세스를 더욱 효율적으로 관리할 수 있으며, 서버 유지보수 작업도 안전하게 수행할 수 있습니다.

댓글 남기기