728x90
fuser 명령어(umount 옵션이 안될 때 사용)
리눅스에서 파일 또는 소켓에 의해 열려 있는 프로세스를 확인하고 관리하는 데 사용됩니다. 이 명령어는 주로 파일 시스템의 특정 파일이나 디렉토리 또는 소켓에 접근하고 있는 프로세스의 PID(Process ID)를 찾는 데 유용합니다.
사용법
fuser [options] [file|socket|directory...]
주요 옵션
- -a, --all : 지정된 파일 또는 소켓과 관련된 모든 프로세스를 표시(기본적으로는 해당 파일을 열고 있는 프로세스만 표시)
- -k, --kill : 지정된 파일을 사용 중인 프로세스를 종료(-k 옵션 뒤에 시그널을 지정하지 않으면 기본적으로 SIGKILL 시그널을 사용)
- -i, --interactive : 프로세스를 종료할 때 사용자에게 확인을 요청
- -l : 사용 가능한 signal을 출력
- -m, --mount : 지정한 파일이나 디렉토리가 마운트된 파일시스템에서 실행되고 있는 프로세스의 PID 출력
- -n space : 지정된 공간(file, udp or tcp)내에서 검색
- -s : 결과를 간략히 출력
- -signal : 지정된 프로세스에 기본 signal인 SIGKILL 외에 지정된 signal을 보냄
- -u, --user : 프로세스 소유자의 UID를 출력
- -v : 자세한 출력 모드(프로세스의 User, PID, ACCESS, COMMAND를 보여줌)
사용 예시
특정 파일을 열고 있는 프로세스 찾기
fuser /path/to/file
파일을 열고 있는 모든 프로세스 찾기(상세)
fuser -a /path/to/file
특정 포트를 사용 중인 프로세스 찾기(예: TCP 포트 80)
fuser -n tcp 80
열려 있는 파일을 사용 중인 프로세스 종료
fuser -k /path/to/file
프로세스 종료 시 사용자 확인 요청
fuser -ki /path/to/file
728x90
오류 메세지
$ umount /data
umount: /data: device is busy
파일 시스템이나 디렉토리(/data)가 현재 사용 중이기 때문에 마운트 해제(umount)가 실패했음을 나타냅니다.
사용 중인 디렉토리 확인
fuser -m /data
/data를 사용 중인 프로세스에 대한 상제 정보를 출력
fuser -v /data
$ fuser -v /data
USER PID ACCESS COMMAND
/data: root kernel mount /data
/data를 사용 중인 프로세스를 강제로 종료
fuser -ck /data
마운트 해제
umount /data
(또는)강제 마운트 해제
umount -l /data
/WEBDEV 파일 시스템 분리
/WEBDEV를 사용 중인 프로세스가 두 개 있음을 확인한 후 이들을 강제로 종료하고 마운트를 해제하여 시스템에서 해당 파일 시스템을 분리합니다.
1. 디스크 사용량 확인
[root@scbyun ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 267G 1.3G 253G 1% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 194M 26M 159M 14% /boot
/dev/sdb1 1.7T 197M 1.6T 1% /edata
192.168.0.100:/vol/http_vol
10T 608G 9.5T 6% /WEBDEV
2. 사용 중인 프로세스 확인
[root@scbyun ~]$ fuser -v /WEBDEV
USER PID ACCESS COMMAND
/WEBDEV: root 12781 ..c.. tail
root 12783 ..c.. tail
3. 프로세스 종료
[root@scbyun ~]$ fuser -ck /WEBDEV
/WEBDEV: 12781c 12783c
4. 마운트 해제
[root@scbyun ~]$ umount /WEBDEV
5. 디스크 사용량 재확인
[root@scbyun ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 267G 1.3G 253G 1% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 194M 26M 159M 14% /boot
/dev/sdb1 1.7T 197M 1.6T 1% /edata
fuser는 특정 파일이나 소켓을 사용 중인 프로세스를 찾고 관리하는 데 유용한 명령어로 시스템 관리 및 문제 해결에 중요한 도구입니다.
728x90
'리눅스' 카테고리의 다른 글
[draft] 우분투에서 NGINX와 PHP-FPM을 설치하고 연동하는 방법 (0) | 2024.09.27 |
---|---|
[draft] 우분투에서 로컬 파일 시스템을 백엔드로 사용하는 JuiceFS를 구성하는 방법 (2) | 2024.09.26 |
[draft] 우분투에서 Office 365를 통한 Postfix 릴레이를 설정하는 방법 (0) | 2024.09.20 |
[draft] 우분투에서 Gmail을 통한 Postfix 릴레이를 설정하는 방법 (0) | 2024.09.20 |
[draft] 우분투에 rsync를 설치하고 설정하는 방법 (1) | 2024.09.12 |