はじめに
使用する各アプリケーションまたはLinuxシステムで実行するコマンドは、プロセスまたはタスクを作成します。システム管理者は、最適なシステムパフォーマンスを確保するためにプロセスを管理する必要があります。
このチュートリアルでは、現在実行中のプロセスを一覧表示および管理するために使用できるさまざまなLinuxコマンドについて説明します。
前提条件
- Linuxを実行しているシステム
- rootまたはsudo権限を持つアカウント
- ターミナルウィンドウ/コマンドラインへのアクセス
Linuxでのプロセス
プロセス Linuxでは、アプリケーションを起動するかコマンドを実行するたびに起動します。各コマンドが1つのプロセスを作成する一方で、アプリケーションはさまざまなタスクに対して複数のプロセスを作成して実行します。
デフォルトでは、新しい各プロセスはフォアグラウンドとして開始されます 処理する。これは、新しいプロセスを開始する前に終了する必要があることを意味します。 バックグラウンドでプロセスを実行する 他のタスクを同時に実行できます。
Linuxで実行中のプロセスのリスト
現在実行中のプロセスを一覧表示するには、 ps
を使用します 、トップ
、 htop
、および atop
Linuxコマンド。 ps
を組み合わせることもできます pgrep
を使用したコマンド 個々のプロセスを識別するコマンド。
psコマンドを使用してLinuxで実行中のプロセスを一覧表示する
ps
Linuxコマンドは、現在実行中のプロセスのスナップショットを作成します。このリストの他のコマンドとは異なり、 ps
出力は、リアルタイムではなく静的リストとして表示されます。
ps
コマンドは次の構文を使用します:
ps [options]
頻繁に使用されるps コマンドオプションは次のとおりです。
-
a
:すべてのユーザーのすべての破壊プロセスを一覧表示します。 -
-A、-e
:システム上のすべてのプロセスを一覧表示します。 -
-a
:セッションリーダー(プロセスIDがセッションIDと同じであるインスタンス)と端末に関連付けられていないプロセスを除くすべてのプロセスを一覧表示します。 -
-d
:セッションリーダーを除くすべてのプロセスを一覧表示します。 -
-選択解除、-N
:ユーザー定義の条件を満たすプロセスを除くすべてのプロセスを一覧表示します。 -
f
:プロセス階層をASCIIアートとして表示します。 -
-j
:出力をジョブ形式で表示します。 -
T
:この端末に関連付けられているすべてのプロセスを一覧表示します。 -
r
:実行中のプロセスのみを一覧表示します。 -
u
:出力を展開して、CPUやメモリの使用量などの追加情報を含めます。 -
-u
:プロセスを一覧表示するユーザーを定義します。 -
x
:TTYなしのプロセスを含めます。
ps
の実行 オプションを指定せずにコマンドを実行すると、次のような出力が生成されます。
デフォルトの出力には、次のカテゴリが含まれます。
- PID :プロセス識別番号。
- TTY :プロセスが実行されている端末のタイプ。
- 時間 :CPU使用率の合計。
- CMD :プロセスを開始したコマンドの名前。
a
の組み合わせを使用する 、 u
、および x
オプションを使用すると、より詳細な出力が得られます:
ps aux
拡張された出力の新しいカテゴリは次のとおりです。
- ユーザー :プロセスを実行しているユーザーの名前。
- %CPU :CPU使用率。
- %MEM :メモリ使用率。
- VSZ :プロセスで使用される仮想メモリの合計(キロバイト単位)。
- RSS :常駐セットサイズ、プロセスが占めるRAMの部分。
- STAT :現在のプロセス状態。
- 開始 :プロセスが開始された時刻。
実行中のプロセスを階層ビューで表示するには、次のように入力します。
ps -axjf
次のコマンドを使用して、ユーザーごとにプロセスのリストをフィルタリングします。
ps -U [real user ID or name] -u [effective user ID or name] u
たとえば、 phoenixnapというユーザーが開始したプロセスのリストを表示します。 :
ps -U phoenixnap -u phoenixnap u
トップコマンドを使用してLinuxで実行中のプロセスを一覧表示する
トップ
コマンドは、CPU使用率の高い順に実行中のプロセスのリストを表示します。これは、最もリソースを大量に消費するプロセスがリストの一番上に表示されることを意味します:
top
の出力 コマンドは、3秒のデフォルトのリフレッシュレートでリアルタイムに更新されます。 トップ
コマンド出力には、次のカテゴリが含まれます。
- PID :プロセス識別番号。
- ユーザー :プロセスを実行しているユーザーの名前。
- PR :プロセスのスケジューリングの優先順位。
- NI :プロセスの優れた値。負の数は優先度が高いことを示します。
- VIRT :プロセスで使用される仮想メモリの量。
- RES :プロセスで使用される常駐(物理)メモリ量。
- SHR :プロセスで使用される共有メモリの合計。
- S :プロセスのステータス-R(実行中)またはS(スリープ中)。
- %CPU :CPU使用率。
- %MEM :メモリ使用率。
- 時間+ :合計CPU使用量。
- コマンド :プロセスを開始したコマンドの名前。
トップ
コマンドが実行されている場合は、次のオプションを使用してコマンドを操作するか、出力形式を変更します。
- c :絶対プロセスパスを表示します。
- d :出力リフレッシュレートをユーザー定義の値(秒単位)に変更します。
- h :ヘルプウィンドウを表示します。
- k :PIDを提供してプロセスを強制終了します。
- M :メモリ使用量でリストを並べ替えます。
- N :リストをPIDで並べ替えます。
- r :PIDを指定して、プロセスの適切な値(優先度)を変更します。
- z :出力色を変更して、実行中のプロセスを強調表示します。
- q :コマンドインターフェイスを終了します。
htopコマンドを使用してLinuxで実行中のプロセスを一覧表示する
htop
コマンドは、 top
と同じ出力を提供します コマンドですが、理解しやすく、ユーザーフレンドリーな方法で。
ほとんどのLinuxディストリビューションにはこのコマンドが含まれていないため、次のコマンドを使用してインストールします。
sudo apt install htop
htop
を使用する コマンドは次の出力を提供します:
次のキーを使用して、 htop
を操作します コマンド:
- 方向キー :プロセスリストを垂直方向および水平方向にスクロールします。
- F1 :ヘルプウィンドウを開きます。
- F2 :htopコマンドのセットアップを開きます。
- F3 :名前を入力してプロセスを検索します。
- F4 :プロセスリストを名前でフィルタリングします。
- F5 :プロセス階層をソート済みリストまたはツリーとして表示するかどうかを切り替えます。
- F6 :プロセスを列で並べ替えます。
- F7 :プロセスの適切な値を減らします(優先度を上げます)。
- F8 :プロセスの適切な値を増やします(優先度を下げます)。
- F9 :選択したプロセスを強制終了します。
- F10 :コマンドインターフェイスを終了します。
atopコマンドを使用してLinuxで実行中のプロセスを一覧表示する
上コード>
コマンドは、 top
と比較して、実行中のプロセスのより包括的な概要を提供します 指図。 atop
をインストールすることから始めます コマンド:
sudo apt install atop
上コード>
コマンドは次のような出力を作成します:
コマンド出力の見出しセクションには、プロセスとパフォーマンスに関連する統計、メモリ、ディスク、ネットワークの使用状況など、システムリソースの概要が表示されます。
下のセクションには、現在実行中のプロセスが一覧表示され、次のカテゴリが含まれています。
- PID :プロセス識別番号。
- SYSCPU :システム処理中のプロセスによるCPU使用率。
- USRCPU :ユーザーモードで実行中のプロセスによるCPU使用率。
- VGROW :最後の出力更新以降にプロセスが占有した仮想メモリの量。
- RGROW :最後の出力更新以降にプロセスが占有した物理メモリの量。
- RUID :プロセスを開始したユーザーの実際のユーザーID。
- ST :現在のプロセスステータス。
- EXC :プロセス終了後の終了コード。
- THR :プロセスが使用しているスレッドの数。
- S :プロセスのプライマリスレッドの現在のステータス。
- CPUNR :プロセスで使用されているCPUの数。
- CPU :プロセスで使用されたCPUの割合。
- CMD :プロセスを開始したコマンドの名前。
atop
を使用する 次のオプションを指定してコマンドを実行すると、出力形式が変更されます。
-
-a
:アクティブなプロセスのみを表示します。 -
-c
:プロセスごとにコマンドラインを表示します。 -
-d
:ディスク情報を表示します。 -
-l </ code>
:合計値を1秒あたりの平均として表示します。 -
-m
:メモリ情報を表示します。 -
-n
:ネットワーク情報を表示します。 -
-s
:プロセスのスケジューリング情報を表示します。 -
-v
:詳細な出力を表示します。 -
-y
:個々のスレッドを表示します。
次のフラグを使用して、 atop
とやり取りします コマンド:
- a :最もアクティブなリソースで並べ替えます。
- c :CPU消費量で並べ替えます。
- d :ディスクアクティビティで並べ替えます。
- m :メモリ使用量で並べ替えます。
- n :ネットワークアクティビティで並べ替えます。
pgrepコマンドを使用してプロセスIDを検索する
pgrep
を使用する コマンドを使用すると、特定のプロセスを検索できます。 pgrep
コマンドは次の構文を使用します:
pgrep [process name]
たとえば、次のコマンドを使用して firefoxを検索します プロセス:
pgrep firefox
コマンド出力には、プロセスのPIDが一覧表示されます。
このPIDをps
で使用する コマンドを使用すると、プロセスに関する詳細情報を取得できます。この例では、PID 1439を使用すると、 Firefoxに関する情報が提供されます。 プロセス:
ps -e | grep 1439