fuser 명령어는 어떻게 활용하나요?
💡 요약 정리
- fuser 명령어는 특정 파일, 파일시스템, 포트에서 어떤 프로세스가 접근 중인지 확인할 수 있습니다.
- -u, -vm, -vn, -k 등의 다양한 옵션으로 사용자, 상세 정보, 포트 사용 여부, 강제 종료 등을 수행할 수 있습니다.
- 시스템 자원 점유 원인을 확인하거나 관리할 때 매우 유용한 명령입니다.
fuser 명령어는 특정 파일이나 파일시스템, 프로토콜/포트에 대해 접근하고 있는 프로세스를 확인할 때 사용합니다.
1. 특정 파일을 사용하고 있는 프로세스(PID) 확인
[root@localhost /]# fuser /var/log/messages
/var/log/messages: 2525
2. 특정 파일을 사용하고 있는 프로세스(PID) 및 사용자 확인
[root@localhost /]# fuser -u /var/log/messages
/var/log/messages: 2525(root)
3. 특정 파일시스템을 사용하고 있는 프로세스 확인
[root@localhost /]# fuser -vm /var
USER PID ACCESS COMMAND
/var: root 1 .rce. init
root 2 .rc.. migration/0
root 3 .rc.. ksoftirqd/0
root 4 .rc.. watchdog/0
root 5 .rc.. events/0
root 6 .rc.. khelper
root 7 .rc.. kthread
root 10 .rc.. kblockd/0
root 11 .rc.. kacpid
root 176 .rc.. cqueue/0
root 179 .rc.. khubd
root 181 .rc.. kseriod
root 244 .rc.. pdflush
root 245 .rc.. pdflush
root 246 .rc.. kswapd0
root 247 .rc.. aio/0
root 465 .rc.. kpsmoused
root 495 .rc.. mpt_poll_0
root 496 .rc.. scsi_eh_0
root 499 .rc.. ata/0
root 500 .rc.. ata_aux
root 507 .rc.. kstriped
root 516 .rc.. kjournald
root 542 .rc.. kauditd
root 575 .rce. udevd
root 1267 .rc.. kgameportd
root 2100 .rc.. kmpathd/0
root 2101 .rc.. kmpath_handlerd
root 2145 .rc.. kjournald
root 2149 .rc.. kjournald
root 2162 .rc.. vmhgfs
root 2480 Frce. dhclient
root 2525 Frce. syslogd
root 2528 .rce. klogd
rpc 2539 .rce. portmap
dbus 2765 frce. dbus-daemon
haldaemon 2778 .rce. hald
root 2779 .rce. hald-runner
haldaemon 2786 .rce. hald-addon-acpi
haldaemon 2792 .rce. hald-addon-keyb
root 2803 .rce. hald-addon-stor
root 2825 .rce. sshd
root 2839 .rce. xinetd
root 2848 .rce. gpm
root 2857 Frce. crond
root 2878 .rc.. kjournald
xfs 2886 .rce. xfs
root 2904 Frce. modclusterd
root 2912 .rce. mingetty
root 2913 .rce. mingetty
root 2914 .rce. mingetty
root 2915 .rce. mingetty
root 2916 .rce. mingetty
root 2917 .rce. mingetty
root 3070 .rce. ssh-agent
root 3093 .rce. dbus-launch
root 3094 frce. dbus-daemon
root 3125 .rce. metacity
root 3139 .rce. eggcups
root 3172 .rce. bt-applet
root 3193 .rce. escd
root 3209 .rce. pam-panel-icon
root 3214 .rce. pam_timestamp_c
root 3222 .rce. trashapplet
root 3224 frce. nm-system-setti
root 3234 .rce. mapping-daemon
root 3246 .rce. notification-ar
root 3248 .rce. clock-applet
root 3250 .rce. mixer_applet2
root 3441 .rc.m httpd
daemon 3442 .rc.m httpd
daemon 3443 .rc.m httpd
daemon 3445 .rc.m httpd
daemon 3447 .rc.m httpd
root 3501 .rce. vsftpd
root 31898 .rce. sshd
root 31900 .rce. bash
4. 특정 프로토콜/포트를 사용 중인 프로세스 확인
[root@localhost /]# fuser -vn tcp ftp
USER PID ACCESS COMMAND
ftp/tcp: root 3501 F.... vsftpd
[root@localhost /]# fuser -vn tcp 111
USER PID ACCESS COMMAND
111/tcp: rpc 2539 F.... portmap
5. -k 옵션을 사용하여 프로세스 강제 종료
[root@localhost /]# fuser -vn tcp http
USER PID ACCESS COMMAND
http/tcp: root 3441 F.... httpd
daemon 3443 F.... httpd
daemon 3445 F.... httpd
daemon 3447 F.... httpd
[root@localhost /]# fuser -kn tcp http
http/tcp: 3441 3443 3445 3447
[root@localhost /]# fuser -vn tcp http
[root@localhost /]#