[리눅스] fuser 명령어 사용법

반응형

 

fuser는 특정 파일이나 디렉토리를 사용하고 있는 사용자 또는 프로세스 ID를 찾거나 종료시킬 때 사용됩니다.

 

사용자 및 프로세스 정보 출력

1. 특정 파일이나 디렉토리를 사용하고 있는 프로세스와 유저 목록을 출력

fuser -u : 간단한 정보 출력
fuser -v : 자세한 정보 출력

[root@Eloquence /]# fuser -u /data

/data:               11317c(eloquence) 11408c(eloquence)  // eloquence 사용자가 /data 파일시스템에 대해 11317(PID)와 11408(PID) 프로세스 가지는 임의의 작업을 진행 중에 있다는 걸 알 수 있습니다.

[root@Eloquence /]# fuser -v /data
                     USER        PID ACCESS COMMAND
/data:               root     kernel mount /data
                     eloquence  11317 ..c.. bash  // /data 파일시스템에 접근 중에 있다는 것을 확인할 수 있습니다. 
                     eloquence  11408 ..c.. vim  // /data 파일시스템 안에서 vim을 사용 중인 것을 확인할 수 있습니다.

/data 라는 파일시스템은 현재 elquence 라는 이름을 가진 사용자에 의해 사용되고 있습니다.

실제로 /data 파일시스템 umount 작업을 진행하려고 한다면 아래와 같이 'eloquence라는 사용자에 의해 /data 파일시스템이 사용되고 있으므로 바쁜 상태이다'라는 문구가 뜨면서 umount 작업 진행이 안될 것입니다.

[root@Eloquence /]# umount /data
umount: /data: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

[root@Eloquence /]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/centos-root       17G  4.3G   13G  25% /
/dev/sda1                   1014M  171M  843M  17% /boot
devtmpfs                     974M     0  974M   0% /dev
tmpfs                        991M     0  991M   0% /dev/shm
tmpfs                        991M     0  991M   0% /sys/fs/cgroup
tmpfs                        991M   11M  980M   2% /run
tmpfs                        199M   24K  199M   1% /run/user/0
tmpfs                        199M     0  199M   0% /run/user/1000

/dev/mapper/datavg-data      4.8G   20M  4.6G   1% /data  // data 파일 시스템 umount가 되지 않는 상황입니다.
/dev/mapper/datavg-weblogic  4.8G   20M  4.6G   1% /weblogic

 

사용자 및 프로세스 종료

1. 특정 파일, 디렉토리, 파일 시스템을 사용하고 있는 프로세스와 유저를 종료

fuser -k : SIGKILL 명령어를 통해 특정 파일이나 디렉토리에 접근되어있는 프로세스와 유저를 강제 종료

[root@Eloquence /]# fuser -k /data  // /data 파일 시스템에 접근 중이던 프로세스ID(11317, 11408)를 모두 종료한다는 뜻

/data:               11317c 11408c

[root@Eloquence /]# fuser -u /data  // /data 파일 시스템을 사용 중이던 eloquence 사용자가 강제 종료되었습니다.

[root@Eloquence /]# fuser -v /data
                     USER        PID ACCESS COMMAND
/data:               root     kernel mount /data

/data 파일시스템을 사용 중인 사용자 및 프로세스 모두를 강제종료시켰습니다.

[root@Eloquence /]# umount /data
[root@Eloquence /]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/centos-root       17G  4.3G   13G  25% /
/dev/sda1                   1014M  171M  843M  17% /boot
devtmpfs                     974M     0  974M   0% /dev
tmpfs                        991M     0  991M   0% /dev/shm
tmpfs                        991M     0  991M   0% /sys/fs/cgroup
tmpfs                        991M   11M  980M   2% /run
tmpfs                        199M   24K  199M   1% /run/user/0
tmpfs                        199M     0  199M   0% /run/user/1000
/dev/mapper/datavg-weblogic  4.8G   20M  4.6G   1% /weblogic


/data 파일시스템이 정상적으로 umount 되었습니다.

 

 

반응형

댓글

Designed by JB FACTORY