Linux での fuser コマンドの使用法の詳細な説明

Linux での fuser コマンドの使用法の詳細な説明

説明する:

fuser は、現在ディスク上のファイル、マウント ポイント、さらにはネットワーク ポートを使用しているプログラムを表示し、プログラム プロセスに関する詳細な情報を提供します。

fuser は、指定されたファイルまたはファイル システムを使用しているプロセス ID を表示します。

デフォルトでは、各ファイル名の後にアクセス タイプを示す文字が続きます。

zkfc ログに、次の警告があります: PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 8090 via ssh: bash: fuser: command not found

理由は、centosのインストールを最小化するとfuserコマンドがなくなるからです

yum インストール -y psmisc

文法:

fuser(オプション)(パラメータ)

アクセスタイプは次のとおりです。

c: 現在のディレクトリを表します
e: このファイルをプログラムの実行可能オブジェクトとして使用します
f: 開かれたファイル。デフォルトでは表示されません。
F: 書き込み用にファイルが開かれました。デフォルトでは表示されません。
r: ディレクトリがプロセスのルート ディレクトリであることを示します。
m: プロセスにメモリ マッピングにファイルを使用するように指示します。または、ファイルは共有ライブラリ ファイルであり、プロセスによってメモリにマップされます。
s: このファイルを共有ライブラリ(またはその他のロード可能なオブジェクト)として使用します

共通オプション

-a: コマンドラインで指定されたすべてのファイルを表示します。デフォルトでは、アクセスされたファイルのみが表示されます。
-c: POSIX 互換性のため、-m と同じです。
-k: ファイルにアクセスしているプロセスを終了します。 -signal が指定されていない場合は、SIGKILL シグナルが送信されます。
-i: プロセスを終了する前にユーザーに確認します。-k オプションがない場合、このオプションは無視されます。
-l: 既知のシグナル名をすべて一覧表示します。
-m:name は、マウントされたファイルシステムまたはマウントされたブロックデバイス (名前 name) 上のファイルを指定します。この方法では、このファイルまたはファイル システムにアクセスするすべてのプロセスがリストされます。ディレクトリが指定されている場合は、自動的に「name/」に変換され、そのディレクトリの下にマウントされているすべてのファイルシステムが使用されます。
-n:space は、異なる名前空間 (スペース) を指定します。ここでは、異なるスペース ファイル (ファイル名、ここではデフォルト)、tcp (ローカル TCP ポート)、および udp (ローカル UDP ポート) がサポートされています。ポートについては、ポート番号または名前を指定できます。あいまいさが生じない場合は、名前/スペース (つまり、80/tcp のような表現) などの単純な表現を使用できます。
-s: サイレントモード、-u および -v は無視されます。 -a は -s と一緒に使用できません。
-signal: プロセスを強制終了するために、SIGKILL の代わりに指定されたシグナルを使用します。シグナルは名前または番号で表すことができます (例: -HUP、-1)。このオプションは -k と一緒に使用する必要があります。そうでない場合は無視されます。
-u: 各 PID の後にプロセス所有者のユーザー名を追加します。
-v: 詳細モード。出力は ps コマンドの出力に似ており、PID、USER、COMMAND などの多くのフィールドが含まれます。カーネルによってアクセスされる場合、PID は kernel です。-V はバージョン番号を出力します。
-4: IPV4 ソケットを使用します。-6 と一緒に使用することはできません。-n の tcp および udp 名が存在する場合にのみ無視されます。
-6: IPV6 ソケットを使用します。-4 と一緒に使用することはできません。-n の tcp および udp 名が存在する場合にのみ無視されます。
- すべてのオプションをリセットし、シグナルを SIGKILL に設定します。

パラメータ

ファイル: ファイル名、または TCP または UDP ポート番号を指定できます。

使用例:

ファイルを使用しているプロセスに関する情報を表示する

このコマンドはアンマウント時に非常に便利で、このデバイスを他に何が使用しているかを調べるのに使用できます。

$ フューザー -um /dev/sda2 
/dev/sda2: 6378c(クワイエットハート) 6534c(クワイエットハート) 6628(クワイエットハート) 
6653c(静かな心) 7429c(静かな心) 7549c(静かな心) 7608c(静かな心)

Readmeファイルを開くプログラムを終了します

ここでは、殺害する前に確認を求められます。どのプロセスが終了されるかがわかるように、-v を追加するのが最適です。

$ フューザー -m -k -i リードミー

TCPポート80を使用するプログラムを確認する

$fuser -v -n tcp 80 または $fuser -v 80/tcp

異なるフューザー信号の適用

fuser に認識されているシグナルを一覧表示するには、-l パラメータを使用します。

[root@_mongodb_117 ~]# フューザー -l
HUP INT QUIT ILL TRAP ABRT IOT バス FPE KILL USR1 SEGV USR2 パイプ ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
未使用

fuser は、デフォルトで -k パラメータによって送信される SIGKILL の代わりに、指定されたファイルにアクセスしているプロセスに既知のシグナルを送信できます。たとえば、プロセスを一時停止したいだけの場合は、HUP シグナルを送信するだけで十分です。

[root@_mongodb_117 ~]# fuser -v /root/install.log

ユーザープロセスID権限コマンド

 /root/install.log: ルート 3347 f.... 末尾
[root@_mongodb_117 ~]# fuser -k -SIGHUP /root/install.log
 /root/インストール.log: 3347
[root@_mongodb_117 ~]# fuser -v /root/install.log

/etc/passwd ファイルを使用してローカル プロセスのプロセス番号を一覧表示するには、次のように入力します。

フューザー /etc/passwd

/etc/filesystems ファイルを使用するプロセスのプロセス番号とユーザー ログイン名を一覧表示するには、次のように入力します。

fuser -u /etc/ファイルシステム

要約する

Linux の fuser コマンドの詳細な使用法に関するこの記事はこれで終わりです。Linux fuser に関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • LinuxシステムでFuserコマンドを使用する方法

<<:  MySQL 条件付きクエリと使用法および優先順位の例の分析

>>:  ランダム点呼 Web ページを実装するための JavaScript

推薦する

Linux で Apache を使用してファイル サーバーを構築する手順

1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...

Docker プライベート ウェアハウスを構築する (自己署名方式)

作成したイメージを一元管理し、サービスの展開を容易にするために、プライベート Docker リポジト...

MySQL ビューの原理と基本操作例

この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下...

Node.jsをゼロから学ぶ

目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...

JSにおける4つのデータ型判定方法

目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...

MySQLのカバーインデックスに関する知識ポイントのまとめ

インデックスにクエリする必要があるすべてのフィールドの値が含まれている(またはカバーしている)場合、...

W3C組織はHTML4のスタイルに関する推奨事項を提供しています

これは、W3C 組織が HTML4 に対して提示したスタイル推奨事項です。残念ながら、ブラウザが独自...

MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

1. まず、次のパスに従って対応するフォルダを作成します。 ローカルのdockerでmysqlを実行...

Node.js コード実行をバイパスするためのヒントのまとめ

目次1. 子プロセス2. nodejsでのコマンド実行2.1 16進数エンコード2.2 ユニコードエ...

IDEA の Maven プロジェクトで MySQL 8.0 に接続して使用する方法に関するチュートリアル

まず、私の基本的な開発環境を見てみましょう。オペレーティングシステム: MacOS 10.13.5 ...

MySQLのトランザクション特性とレベル原則の分析

1. トランザクションとは何ですか?データベース トランザクション (略称: トランザクション) は...

Dockerでイメージ情報を表示する方法

この記事では、Dockerでイメージ情報を表示する方法を学ぶ必要があります。 1. imagesコマ...

カルーセル効果を書くためのjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

JS 非同期スタック トレース: await が Promise よりも優れている理由

概要async/await と Promise の基本的な違いは、await fn() は現在の関数...

React サーバーサイドレンダリング原則の分析と実践

ほとんどの人は、サーバーサイド レンダリング (SSR と呼んでいます) の概念について聞いたことが...