fuser (유닉스)

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

fuser
운영 체제유닉스유닉스 계열
종류명령어

유닉스 명령어 fuser는 어느 프로세스가 특정 컴퓨터 파일, 파일 시스템, 유닉스 도메인 소켓을 사용하는지를 표시하기 위해 사용된다.

예제[편집]

이를테면 USB 드라이브에 접근하는 프로세스 ID와 사용자를 확인하려면:

$ fuser -m -u /mnt/usb1
/mnt/usb1:   1347c(root)  1348c(guido)  1349c(guido)

이 명령어는 특정 파일 또는 파일 시스템을 사용하는 프로세스의 프로세스 식별자를 표시한다. 기본 디스플레이 모드에서 개별 파일 이름에는 접근 유형을 의미하는 문자가 뒷따른다:

c
현재 디렉터리.
e
실행 중인 실행 파일.
f
열려있는 파일.
F
쓰기를 위해 열려있는 파일.
r
루트 디렉터리.
m
mmap된 파일 또는 공유 디렉터리

이 명령어는 어느 프로세스가 네트워크 포트를 사용하는지 검사하기 위해서도 사용할 수 있다:

$ fuser -v -n tcp 80
                     USER        PID ACCESS COMMAND
80/tcp:              root       3067 F.... (root)httpd
                     apache     3096 F.... (apache)httpd
                     apache     3097 F.... (apache)httpd

이 명령어는 접근 중인 파일이 없거나 치명적인 오류가 발생할 경우 0이 아닌 코드를 반환한다. 적어도 하나의 접근이 성공하여야 fuser는 0을 반환한다. fuser의 출력은 파일 시스템의 언마운트를 시도할 때 리소스 비지(resource busy) 메시지를 진단하는데 유용할 수 있다.

옵션[편집]

-k
파일에 접근 중인 모든 프로세스를 kill한다. 예: fuser -k /path/to/your/filename는 확인 과정 없이 이 디렉터리에 접근 중인 모든 프로세스를 죽인다. 확인 처리를 위해서는 -i를 사용할 것.
-i
상호작용 모드. 프로세스를 kill하기 전에 확인 과정을 거친다
-v
버보스(verbose) 모드
-u
사용자 이름 추가
-a
모든 파일 표시
-m
name는 마운트되어 있는 블록 장치 또는 마운트된 파일 시스템의 파일을 지정한다. 해당 파일 시스템의 파일들에 접근하는 모든 프로세스가 나열된다.

-k는 SIGKILL을 모든 프로세스에 보낸다. -signal을 사용하여 다른 신호를 보낼 수 있다. 지원되는 신호 목록의 경우 fuser -l을 입력하여 확인할 수 있다.

관련 명령어[편집]

  • lsof
  • BSD 운영 체제의 fuser 버전: fstat(1)

외부 링크[편집]

fuser – 명령어와 유틸리티 오픈 그룹단일 유닉스 규격, Issue 7 참고