30 Linuxプロセス監視のための便利な 'psコマンド'の例


ps プロセスステータス)は、システム上で実行中のプロセスの選択に関する情報を表示するためのネイティブのUnix/Linuxユーティリティです。/ procの仮想ファイルからこの情報を読み取ります。ファイルシステム。これは、プロセス監視下でシステム管理を行うための重要なユーティリティの1つであり、Linuxシステムで何が起こっているのかを理解するのに役立ちます。

それはその出力を操作するための多数のオプションを持っています、しかしあなたはあなたが日常的な使用のために実用的に少数のそれらを見つけるでしょう。

この記事では、Linuxシステムでアクティブに実行されているプロセスを監視するためのpsコマンドの便利な例を30例紹介します。

ps は各行の情報の意味を表す見出し行付きの出力を生成します。 psのmanページですべてのラベルの意味を確認できます。

現在のシェルのすべてのプロセスを一覧表示する

1. 引数を指定せずに ps command を実行すると、現在のシェルのプロセスが表示されます。

$ ps 

すべてのプロセスを異なる形式で印刷する

2. Linuxシステム上のすべてのアクティブなプロセスを汎用(Unix/Linux)形式で表示します。

$ ps -A
OR
$ ps -e

3. すべてのプロセスを BSD 形式で表示します。

$ ps au
OR
$ ps axu

4. 全文表示を実行するには、 -f または -F フラグを追加します。

$ ps -ef
OR
$ ps -eF

ユーザ実行中プロセスの表示

5. 自分が所有するすべてのプロセス( psコマンドのランナー、この場合はroot)を選択し、次のように入力します。

$ ps -x 

6. 実際のユーザーID( RUID )または名前でユーザーのプロセスを表示するには、 -U フラグを使用します。

$ ps -fU tecmint
OR
$ ps -fu 1000

7. 有効なユーザーの ID EUID )または名前でユーザーのプロセスを選択するには、 -u オプションを使用します。

$ ps -fu tecmint
OR
$ ps -fu 1000

ルートとして実行されているすべてのプロセスを印刷する(実際のIDと実効ID)

8. 以下のコマンドを使用すると、 root ユーザー権限(実際の有効なID)で実行されているすべてのプロセスをユーザー形式で表示できます。

$ ps -U root -u root 

グループプロセスの表示

9. 特定のグループが所有するすべてのプロセス(実際のグループID( RGID )または名前)を一覧表示する場合は、と入力します。

$ ps -fG apache
OR
$ ps -fG 48

10. 有効なグループ名(またはセッション)が所有するすべてのプロセスを一覧表示するには、と入力します。

$ ps -fg apache

PIDとPPIDによるプロセスの表示

11. 次のように PID でプロセスを一覧表示できます。

$ ps -fp 1178

12. PPID でプロセスを選択するには、と入力します。

$ ps -f --ppid 1154

13. PID リストを使用して選択します。

$ ps -fp 2226,1154,1146

TTYによる表示プロセス

14. tty でプロセスを選択するには、次のように -t フラグを使用します。

$ ps -t pst/0
$ ps -t pst/1
$ ps -ft tty1

印刷プロセスツリー

15. プロセスツリーは、システム上のプロセスが互いにどのようにリンクされているかを示します。親が殺されたプロセスはinit(またはsystemd)によって採用されます。

$ ps -e --forest 

16. このように、指定したプロセスのプロセスツリーを印刷することもできます。

$ ps -f --forest -C sshd
OR
$ ps -ef --forest | grep -v grep | grep sshd 

印刷プロセススレッド

17. プロセスのすべてのスレッドを印刷するには、 -H フラグを使用します。これは LWP 軽量プロセス)および NLWP 軽量化プロセスの数)列。

$ ps -fL -C httpd

カスタム出力フォーマットを指定する

psでは、 -o または –format オプションを使用して、以下に示すようにユーザー定義の出力形式を作成できます。

18. すべてのフォーマット指定子を一覧表示するには、 L フラグを含めます。

$ ps L

19. 以下のコマンドを使用すると、 PID PPID 、ユーザー名、プロセスのコマンドを表示できます。

$ ps -eo pid,ppid,user,cmd

20. ファイルシステムグループ、ナイス値、プロセスの開始時間および経過時間を示すカスタム出力形式の別の例を次に示します。

$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

21. PIDを使用してプロセス名を見つける。

$ ps -p 1154 -o comm=

親プロセスと子プロセスを表示する

22. 特定のプロセスを名前で選択するには、-Cフラグを使用します。これにより、すべての子プロセスも表示されます。

$ ps -C sshd

23. プロセスのすべてのインスタンスの PID をすべて検索します。標準出力またはファイルから PID を読み取る必要があるスクリプトを作成するときに役立ちます。

$ ps -C httpd -o pid=

24. プロセスの実行時間を確認します。

$ ps -eo comm,etime,user | grep httpd

以下の出力は、HTTPDサービスが1時間48分17秒間実行されていることを示しています。

Linuxシステムパフォーマンスのトラブルシューティング

システムが本来の動作をしていない場合、たとえば、異常に遅い場合は、次のようにシステムのトラブルシューティングを実行できます。

26。 Linuxで最大のメモリ使用量とCPU使用量で、トップランニングプロセスを見つけます。

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

27。 Linuxプロセスや応答のないアプリケーション、あるいはCPU時間を消費しているプロセスを強制終了する。

まず、応答しないプロセスまたはアプリケーションの PID を探します。

$ ps -A | grep -i stress

その後、killコマンドを使用してただちに終了します。

$ kill -9 2583 2584

セキュリティ情報を印刷する

28。セキュリティコンテキストを(特に SELinux に対して)このように表示します。

$ ps -eM
OR
$ ps --context

29。このコマンドを使用して、セキュリティ情報をユーザー定義の形式で表示することもできます。

$ ps -eo  euser,ruser,suser,fuser,f,comm,label

Watch Utilityを使用してリアルタイムのプロセス監視を実行する

以下の関連記事も読んでください。

  1. How to Find a Process Name Using PID Number in Linux
  2. Find Top Running Processes by Highest Memory and CPU Usage in Linux
  3. A Guide to Kill, Pkill and Killall Commands to Terminate a Process in Linux
  4. How to Find and Kill Running Processes in Linux
  5. How to Start Linux Command in Background and Detach Process in Terminal

それは今のところすべてです。共有する psコマンドの便利な例がある場合は(その説明を忘れずに)、下のコメントフォームを使用してください。