Linuxでは、実行中のプログラムのインスタンスはプロセスと呼ばれます。 Linuxマシンで作業しているときに、現在実行中のプロセスを確認する必要がある場合があります。
ps、pstree、およびtopが最も一般的に使用されているものです。
これこの記事では、psコマンドを使用して、現在実行中のプロセスを一覧表示し、それらのプロセスに関する情報を表示する方法について説明しています。
psコマンドの使用方法#
psコマンドの一般的な構文は次のとおりです。
歴史的および互換性の理由から、psコマンドはいくつかの異なるタイプのオプションを受け入れます。
- UNIXスタイルのオプションの前にダッシュを1つ付けます。
- BSDスタイルのオプション。ダッシュなしで使用されます。
- GNUの長いオプション。前に2つのダッシュがあります。
さまざまなオプションタイプca nを混在させることもできますが、特定のケースでは競合が発生する可能性があるため、1つのオプションタイプを使用することをお勧めします。
BSDオプションとUNIXオプションをグループ化できます。
最も簡単な方法です。フォームをオプションなしで使用すると、psは、現在のシェルで実行されている最小2つのプロセス、シェル自体、およびシェルで実行されているプロセスの4列の情報を出力します。コマンドが呼び出されました。
出力には、シェル(bash)とこの中で実行されているプロセスに関する情報が含まれます。シェル(ps、入力したコマンド):
4つの列にはPID、TTY、TIME、およびCMD。
-
PID-プロセスID。通常、psコマンドを実行する場合、ユーザーが探している最も重要な情報はプロセスPIDです。 PIDを知っていると、誤動作しているプロセスを強制終了できます。 -
TTY-プロセスの制御端末の名前。 -
TIME-プロセスの累積CPU時間。分と秒で表示されます。 -
CMD-コマンドの名前これはプロセスの開始に使用されました。
上記の出力は、多くの情報が含まれていないため、あまり役に立ちません。 psコマンドの真の力は、追加のオプションを指定して起動したときに得られます。
psコマンドは膨大な数を受け入れますプロセスの特定のグループとプロセスに関するさまざまな情報を表示するために使用できるオプションのリストですが、日常の使用に必要なのはほんの一握りです。
psは、次のオプションの組み合わせで最も頻繁に使用されます。
BSD形式:
-
aオプションは、すべてのユーザーのプロセスを表示するようにpsに指示します。端末に関連付けられていないプロセスとグループリーダーのプロセスのみが表示されません。 -
uは、に関する詳細情報を提供するユーザー指向の形式を表します。プロセス。 -
xオプションは、制御端末なしでプロセスを一覧表示するようにpsに指示します。これらは主に、起動時に開始され、バックグラウンドで実行されるプロセスです。
このコマンドは、USER、
、%CPU、%MEM、VSZ、 RSS、STAT、START、TTY、TIME、およびCMD。
すでにPID、TTY、TIME、およびCMDラベル。他のラベルの説明は次のとおりです。
-
USER-プロセスを実行するユーザー。 -
%CPU-プロセスのCPU使用率。 -
%MEM-マシンの物理メモリに対するプロセスの常駐セットサイズの割合。 -
VSZ-KiBでのプロセスの仮想メモリサイズ。 -
RSS-プロセスが使用している物理メモリのサイズ。 -
STAT–Z(ゾンビ)、S(スリープ)、およびR(実行中)。 -
START-コマンドが開始された時刻。
fオプションは、psに親から子のプロセスのツリービューを表示するように指示します。
psコマンドを使用すると、出力を並べ替えることもできます。たとえば、メモリ使用量に基づいて出力を並べ替えるには、次を使用します。
UNIXフォーム:
-
-eオプションは、すべてのプロセスを表示するようにpsに指示します。 -
-fは、プロセスに関する詳細情報を提供するフルフォーマットのリストです。
このコマンドは、UID、PID、PPID、C、STIME、TIME、およびCMD。
まだ説明されていないラベルの意味は次のとおりです。
-
UID-、プロセスを実行するユーザー。 -
PPID-親プロセスのID。 -
C-サムe as%CPU、プロセスのCPU使用率。 -
STIME–START、コマンドが開始された時刻。
特定のユーザーとして実行されているプロセスのみを表示するには、次のコマンドを入力します。ここで、linuxizeはユーザーの名前です:
ユーザー定義の形式#
oオプションを使用すると、psコマンドの実行時に表示される列を指定できます。
たとえば、およびCOMMANDの場合、次のいずれかのコマンドを実行します。
他のコマンドでのpsの使用#
psは、配管を介して他のコマンドと組み合わせて使用できます。
psコマンドの出力を表示する場合は、一度に1ページeパイプでlessコマンドに接続します:
psコマンドはgrepでフィルタリングできます。たとえば、実行するrootユーザーに属するプロセスのみを表示するには、次のようにします。
結論#
psコマンドは、Linuxシステムの問題をトラブルシューティングするときに最も一般的に使用されるコマンドの1つです。多くのオプションがありますが、通常、ほとんどのユーザーはps auxまたはps -efを使用して実行中のプロセスに関する情報を収集しています。
psの詳細については、端末にman psと入力してください。