アンドロイド

LinuxのPSコマンド(リストプロセス)

Unicode and Byte Order

Unicode and Byte Order

目次:

Anonim

Linuxでは、プログラムの実行中のインスタンスはプロセスと呼ばれます。 時々、Linuxマシンで作業しているとき、現在実行中のプロセスを調べる必要がある場合があります。

実行中のプロセスに関する情報を見つけるために使用できるコマンドがいくつかありますが、 ps pstree 、および top が最も一般的に使用されます。

この記事では、 ps コマンドを使用して現在実行中のプロセスをリストし、それらのプロセスに関する情報を表示する方法について説明します。

ps コマンドの使用方法

ps コマンドの一般的な構文は次のとおりです。

ps

歴史的および互換性の理由から、 ps コマンドはいくつかの異なるタイプのオプションを受け入れます。

  • 単一のdash.BSDスタイルオプションが先行し、dash.GNUロングオプションなしで使用され、2つのダッシュが先行するUNIXスタイルオプション。

さまざまなオプションタイプを混在させることができますが、特定のケースでは競合が発生する可能性があるため、1つのオプションタイプを使用することが最善です。

BSDおよびUNIXオプションはグループ化できます。

最も簡単な形式では、オプションなしで使用すると、 ps は、現在のシェルで実行されている最低2つのプロセス、シェル自体、およびコマンドが呼び出されたときにシェルで実行されているプロセスに関する4列の情報を出力します。

ps

出力には、シェル( bash )およびこのシェルで実行されているプロセス( ps 、入力したコマンド)に関する情報が含まれます。

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

4つの列には PID TTY TIME 、および CMD というラベルが付いてい PID

  • PID プロセスID。 通常、 ps コマンドを実行するとき、ユーザーが探している最も重要な情報はプロセスPIDです。 PIDを知ることで、誤動作しているプロセスを強制終了できます。 TTY プロセスの制御端末の名前。 TIME プロセスの累積CPU時間。分と秒で表示されます。 CMD プロセスを開始するために使用されたコマンドの名前。

上記の出力はあまり情報を含んでいないため、あまり役に立ちません。 ps コマンドの真の力は、追加のオプションを使用して起動したときに得られます。

ps コマンドは、プロセスの特定のグループとプロセスに関するさまざまな情報を表示するために使用できる膨大な数のオプションを受け入れますが、日常の使用に必要なのはほんの一握りです。

ps は、次のオプションの組み合わせで最も頻繁に使用されます。

BSDフォーム

ps aux

  • a オプションは、 ps にすべてのユーザーのプロセスを表示するように指示します。 端末に関連付けられていないプロセスとグループリーダーのプロセスのみが表示されていません。 u は、プロセスに関する詳細情報を提供するユーザー指向の形式を表します x オプションは、 ps に制御端末なしでプロセスをリストするように指示します。 これらは主に、起動時に開始され、バックグラウンドで実行されるプロセスです。

このコマンドは、 USER PID %CPU %MEM VSZ RSS STAT START TTY TIME 、および CMD というラベルの付いた11列に情報を表示します。

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

PID TTY TIME および CMD ラベルについてはすでに説明しました。 他のラベルの説明は次のとおりです。

  • USER プロセスを実行するユーザー。 %CPU プロセスのCPU使用率。 %MEM マシン上の物理メモリに対するプロセスの常駐セットサイズの割合。 VSZ -KiBのプロセスの仮想メモリサイズ。 RSS プロセスが使用している物理メモリのサイズ。 STAT - Z (ゾンビ)、 S (スリープ)、 R (実行中)などのプロセス状態コード。 START コマンドが開始された時刻。

f オプションは、親プロセスから子プロセスのツリービューを表示するように ps に指示します。

ps auxf

ps コマンドを使用すると、出力をソートすることもできます。 たとえば、メモリ使用量に基づいて出力をソートするには、次を使用します。

ps aux --sort=-%mem

UNIXフォーム

ps -ef

  • -e オプションは、 ps にすべてのプロセスを表示するよう指示します。- -f は、プロセスに関する詳細情報を提供するフルフォーマットのリストです。

このコマンドは、 UID PID PPID C STIME TIME 、および CMD というラベルの付いた8つの列に情報を表示します。

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

まだ説明されていないラベルの意味は次のとおりです。

  • UID プロセスを実行するユーザー USER と同じ。 PPID 親プロセスのID。 C プロセスのCPU使用率である %CPU と同じ。 STIME コマンドが開始された時刻である START と同じです。

特定のユーザーとして実行されているプロセスのみを表示するには、次のコマンドを入力します。ここで、 linuxize はユーザーの名前です。

ps -f -U linuxize -u linuxize

ユーザー定義フォーマット

o オプションを使用すると、 ps コマンドの実行時に表示される列を指定できます。

たとえば、 PID および COMMAND に関する情報のみを出力するには、次のコマンドのいずれかを実行します。

ps -efo pid, comm

ps auxo pid, comm

他のコマンドで ps を使用する

ps は、パイピングを通じて他のコマンドと組み合わせて使用​​できます。

ps -ef | less

ps コマンドの出力は、 grep でフィルタリングできます。 たとえば、rootユーザーに属するプロセスのみを表示するには、次を実行します。

ps -ef | grep root

結論

ps コマンドは、Linuxシステムの問題をトラブルシューティングするときに最もよく使用されるコマンドの1つです。 多くのオプションがありますが、通常、ほとんどのユーザーは ps aux または ps -ef を使用して、実行中のプロセスに関する情報を収集しています。

ps 詳細については、ターミナルで man ps してください。

PS端末