Articles

ps auxコマンドとpsコマンドの説明

このチュートリアルでは、Linuxでのpsコマンドの使用方法を説明します。 また、psコマンドの10以上の実用的な例も提供します。 詳細にps auxコマンドの出力を読み取る方法を学びます。

psコマンドの簡単な紹介

ps(プロセスステータス)コマンドは、Linuxで最も頻繁に使用されるコマンドの1つです。 通常、特定のプロセスまたはすべてのプロセスに関するより詳細な情報を取得するために使用されます。 たとえば、特定のプロセスが実行されているかどうか、システム内のどのプロセスを実行しているか、どのプロセスがより高いメモリまたはCPUを使用

Lab Setup

練習のために、いくつかのアプリケーションを起動し、それらを実行し続けます。 ユーザーアカウントを切り替えて、同じプロセスを繰り返します。p>

psコマンドの練習のためのラボセットアップ

今、あなたはシステム管理者であり、システム管理者であると仮定します。この場合、psコマンドを使用して必要な情報を取得できます。

psコマンドを使用して

ターミナルを開き、psコマンドを実行します

オプションと引数なしのpsコマンド

オプションと引数なしで、psコマンドは現在の端末からログインしているユーザーアカウントで実行されているプロセスのみを表示します。これまでこの端末からプロセスを実行していないのに、なぜpsコマンドが2つのプロセスを表示しているのか疑問に思うかもしれません。最初のプロセスは、この端末が開かれているプロセスを示しています。

まあ…最初のプロセスは、この端末が開かれているプロセスを示しています。 このプロセスは、端末が開かれるまで開いたままです。

第二のプロセスは、この端末で最後に実行されたコマンドを示しています。

psコマンドによるオプションの指定

psコマンドは、3つのスタイルのオプションを受け入れます。BSD UNIXスタイル:-このスタイルでは、オプションは先頭のダッシュなしで提供されます(“aux”など)。

AT&T Unixスタイル:-このスタイルでは、オプションには先頭のダッシュが付いています(“-aux”など)。GNU Linuxスタイル:-このスタイルでは、オプションには二重の先頭にダッシュが付いています(“–sort”など)。

PSコマンドはmixスタイルのオプションを受け入れますが、オプションを指定するには常に1つのスタイルのみを使用する必要があります。

psコマンドの基本的な例

システムで実行中のすべてのプロセスを出力するには、次のいずれかのコマンドを使用します。ps-aおよびps-eコマンド

オプションAおよびeは、実行の概要を要約したものですprocesses.To 詳細な概要を印刷し、これらのオプションでオプションf(完全な形式)とF(余分な完全な形式)を使用します。BSD Unixスタイルで同じ出力を表示するには、オプション”aux”を使用します。

ps auxコマンド

“ps aux”コマンドは、Linux管理者が最も頻繁に使用するコマンドです。 次の例に進む前に、このコマンドで使用されるオプションを詳細に理解してみましょう。

ps auxコマンドオプション

a:-このオプションは、すべてのユーザーから実行中のプロセスを出力します。u:-このオプションは、ユーザーまたは所有者の列を出力に表示します。

x

x:-このオプションは、端末から実行されていないプロセスを表示します。

オプション”aux”は、実行された場所に関係なく、システム内のすべての実行中のプロセスを一括して出力します。

ps auxコマンド出力の説明列ごと

次の表で説明します。

説明
ユーザー このプロセスが実行されているユーザーアカウント
PID このプロセスのプロセスID
このプロセスのプロセスID
このプロセスのプロセスID
このプロセスのプロセスID
このプロセスのプロセスID
このプロセスのプロセスID
このプロセスのプロセスID
このプロセスのプロセスID
%Cpu このプロセスで使用されるcpu時間(パーセンテージ)。
%MEM このプロセスで使用される物理メモリ(パーセンテージ単位)。
VSZ このプロセスで使用される仮想メモリ(バイト単位)。
RSS このプロセスが使用する非スワップ可能な物理メモリ(KiB)
TTY このプロセスが開始される端末。 疑問符(?)signは、このプロセスが端末から開始されていないことを表します。
このプロセスの開始時刻と日付
時間 このプロセスで使用された合計CPU時間
コマンド このプロセスを開始したすべての引数を持つコマンド
ps aux statコードと説明

フォアグラウンドプロセスグループ

d 無停電スリープ(通常はio)
r 実行中または実行可能(実行キュー上)
s 中断可能なスリープ(イベントが完了するのを待っている)
中断可能なスリープ(通常はio)
中断可能なスリープ(通常はio)
中断可能なスリープ(通常はio)
中断可能なスリープ(通常はio)
t ジョブ制御信号によって停止
t トレース中にデバッガによって停止
w ページング(2.6以降は有効ではありません。/td>
x デッド(見てはいけません)
Z defunct(”ゾンビ”)プロセスは終了しましたが、親によって刈り取られません
< 高優先度(他のユーザーにはいいではありません) 高優先度(他のユーザーにはいいではありません)
高優先度(他のユーザーにはいいではありません)
高優先度(他のユーザーにはいいではありません)
高優先度(他のユーザーにはいいではありません) /td>
s セッションリーダー
l マルチスレッドです(clone_threadを使用して、次のようにしています)。
l マルチスレッドです(clone_threadを使用して、次のようにしています)。
l
キーポイント
  • CPU使用率は、プロセスの全ライフタイム中に実行に費やされた時間
  • SIZEフィールドとRSSフィールドは、ページテーブル、カーネルスタック、struct thread_info、およびstruct task_structを含むプロセスの一部をカウントしません。
  • SIZEはプロセスの仮想サイズです(コード+データ+スタック)。
  • マークされたプロセス<defunct>は、親が適切に破壊していないために残っている死んだプロセス(いわゆる”ゾンビ”)です。
  • ユーザー名の長さが表示列の長さよりも大きい場合、ユーザー名は切り捨てられます。

10+psコマンドの実用的な例

rootユーザーアカウントで実行されているすべてのプロセスを表示するには、次のコマンドを使用します。

$ps -U root -u root

このコマンドで:-

-u:-実際のユーザー IDまたは名前に基づいてプロセスを選択します。

-u:-有効なユーザー IDまたは名前に基づいてプロセスを選択します。

RUID(実ユーザー ID)はユーザーの名前を表し、EUID(実効ユーザー ID)はプロセスによってファイルアクセス権限が使用されているユーザーを表します。p>

ps-u-Uコマンド

特定のユーザーアカウントで実行されているすべてのプロセスを表示するには、次のコマンドを使用します。

$ps –U –u 

psコマンド単一のユーザーアカウントで実行されているすべてのプロセスを表示

特定のグループで実行されているすべてのプロセスを表示するには、次のコマンドを使用します。p>

$ps –G 

詳細な概要については、–Gオプションと–Fオプションを組み合わせることもできます。p>

階層内のすべてのプロセスを表示するには、次のコマンドを使用します。

$ps –A --forest

ps-A--forest

特定の列のみを表示する

デフォルトでは、psコマンドはすべての列を表示します。 特定の列のみに関心がある場合は、必要な列名を引数として指定することで出力を制限できます。たとえば、PID、USER、CMD列のみを表示するには、次のコマンドを使用できます。

$ps –eo pid,user,cmd

ps制限列を表示

最高のメモリを使用しているプロセスを検索

デフォルトでは、psコマンドは出力をソートしません。 ソート順を%MEMに設定することで、より高いメモリを消費しているプロセスを見つけることができます。ソート順を設定するには、–sort=オプションを使用します。 このオプションを他のオプションと組み合わせて、より具体的な出力を得ることもできます。

たとえば、特定のフィールドのみを表示し、メモリ使用量で並べ替えましょう。

$ps –eo pid,user,%mem,cmd --sort=-%mem

ps出力メモリ使用量でソート

出力の制限

デフォルトでは、psコマンドは出力の結果を制限しません。最高のメモリを消費している上位3つのプロセスのみを知ることに興味がある場合は、psコマンドの出力をターミナルに表示する代わりに、headコマン

デフォルトでは、headコマンドは指定されたソースから上位10行を表示します。必要な行番号を指定することで、このデフォルトの動作を上書きできます。

上位3つのプロセスのみを表示するには、headコマンドで”-n4″オプションを使用できます。p>

ps出力を制限する

3つの結果については、引数として数字4を指定します。 Psコマンドの出力と同様に、最初の行はタイトルによって占有されます。

最高のCPUを使用しているプロセスの検索

最高のメモリ消費プロセスを考え出したのと同じように、CPU列に基づいて出力をソートすることで、最たとえば、次のコマンドは、上位3つのプロセスをCPU使用率順に表示します。

$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4

cpu使用率によるps出力ソート

ユーザーが実行しているプロセスの総数を求める

ユーザーが実行しているプロセ>