fuser コマンドは、システム リソースを使用しているファイルを特定するのに役立ちます。このコマンドのより一般的な用途の 1 つは、ファイル システムでアクティブなユーザーを特定することです。これにより、システム管理者がファイル システムをアンマウントできなくなります。
[root@localhost ~]# umount /boot umount: /boot: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -v /boot USER PID ACCESS COMMAND /boot: root kernel mount /boot student 29306 ..c.. bash
定着出力には次の記号が含まれます:
c current directory. e executable being run. f open file. f is omitted in default display mode. F open file for writing. F is omitted in default display mode. r root directory. m mmap'ed file or shared library.
次の表では、fuser コマンドの一般的なオプションについて説明します。
オプション | 説明 |
---|---|
-k または –kill | ファイルシステムまたはリソースを使用しているプロセスを強制終了します。 |
-i または –interactive | プロセスを強制終了する前にプロンプトを表示します (-k オプションも使用する必要があります)。 |
-v または –verbose | 冗長;追加の有用な情報を生成します。 |
fuser コマンドの例
1. ルート ファイル システムを使用してプロセスを取得するには:
# fuser /
2. コマンドラインで指定されたすべてのファイルを表示するには:
# fuser -a /
3. ファイルにアクセスしているプロセスを強制終了するには:
# fuser -k /tmp
4. プロセスを強制終了する前にユーザーに確認するには:
# fuser -ki /tmp
5. すべての既知の信号を一覧表示するには:
# fuser -l
6. 指定したファイルが存在するマウント ポイントのすべてのプロセスを一覧表示するには:
# fuser -m /tmp/file.txt
7. サイレント操作の場合:
# fuser -s /tmp
8. SIGKILL の代わりにシグナルを指定するには:
# fuser -signal 15 /tmp
9. プロセス所有者のユーザー名を取得するには:
# fuser -u /tmp
10. 詳細モードを設定するには:
# fuser -v
11. バージョン情報を表示するには:
# fuser -V
12. IPv4 ソケットのみを検索するには:
# fuser -4 /tmp
13. IPv6 ソケットのみを検索するには:
# fuser -6 /tmp
14. すべての信号オプションをリセットするには:
# fuser -
最終的な考え
fuser コマンドは、ファイルまたはローカル ファイルシステムを使用しているプロセスのプロセス ID を識別して出力します。各プロセス ID の後に文字コードが続きます。c プロセスがファイルを現在のディレクトリとして使用している場合。 e 実行可能な場合。 f 開いているファイルの場合。ファイルを書き込み用に開いている場合は F。 m 共有ライブラリの場合。ルート ディレクトリの場合は r です。 /dev/kmem および /dev/mem を読み取る権限を持つユーザーは誰でも fuser を使用できますが、特権ユーザーのみが別のユーザーのプロセスを終了できます。 fuser はリモート (NFS) ファイルでは機能しません。