Linuxコマンド辞典 fuserコマンド(プロセス管理)

ファイルもしくはソケットを使用しているプロセスを特定/シグナルを送信する「fuser」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ fuser [オプション] ファイル名/ソケット・・・

特殊ファイルやファイルを利用しているプロセスについて、プロセスIDやユーザ情報を表示します。また特定したプロセスにシグナルを送ることができます。ファイルシステムをアンマウントしたいが誰かが使用しているので特定したいなどの時に使用できます。

オプション

-k
–kill
指定したファイルにアクセスしているプロセスにシグナルに送る(デフォルトはSIGKILL)
-i
–interactive
プロセスを停止する前に対話的に問い合わせる
-c、-m
–mount
マウントされたファイルシステムがデバイスを指定する。そのファイルシステムにアクセスしているプロセスを表示する
-n file/udp/tcp
–namespace
別の名前空間を指定する
-シグナルプロセスをkillするときに指定したシグナルを送る(デフォルトはSIGKILL)
-u
–user
プロセスIDにオーナーユーザを合わせて表示する
-v
–verbose
冗長表示を行う。アクセス情報も表示する
-4
–ipv4
IPv4ソケットのみを探す
-6
–ipv6
IPv6ソケットのみを探す
-l
–list-signals
利用できるシグナルを一覧表示する

アクセス情報の意味

記号説明
c作業ディレクトリ
e実行中ファイル
fオープンしているファイル
F書き込み用にオープンしているファイル
rルートディレクトリ
mmmapされたファイル、もしくは共有ライブラリ

利用できるシグナルすべてを一覧で表示する

$ fuser -l

実行結果

[suna@localhost test]$ fuser -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

作業ディレクトリを指定して別ユーザの作業を表示

$ fuser -v `pwd`

実行結果

[root@localhost test]# fuser -v `pwd`
                     USER        PID ACCESS COMMAND
/home/suna/test:     suna      830522 ..c.. bash
                     root      831993 ..c.. bash
[root@localhost test]# 

コマンドを実行ユーザを確認する

$ fuser -v コマンド

実行結果

[root@localhost test]# fuser -v /bin/bash
                     USER        PID ACCESS COMMAND
/usr/bin/bash:       root       1089 ...e. ksmtuned
                     suna      830522 ...e. bash
                     suna      830619 ...e. bash
                     root      831993 ...e. bash
[root@localhost test]# 

特定のファイルを利用するプロセスとユーザ名を一緒に表示する

$ fuser -vu ファイル名

実行結果

[root@localhost test]# fuser -vu /var/log/httpd/ssl_access_log 
                     USER        PID ACCESS COMMAND
/var/log/httpd/ssl_access_log:
                     root      778907 F.... (root)httpd
                     apache    778909 F.... (apache)httpd
                     apache    778910 F.... (apache)httpd
                     apache    778911 F.... (apache)httpd
                     apache    778912 F.... (apache)httpd
                     apache    779854 F.... (apache)httpd
[root@localhost test]#