Linuxで実行中のプロセスを一覧表示して管理する方法

公開: 2022-04-04

Linuxのプロセスの一覧表示-開発者はさまざまなアプリケーションを利用し、ターミナルで毎日コマンドを実行します。
Linuxシステムでは、使用するアプリケーションまたは実行するコマンドごとに、プロセスまたはタスクが生成されます。 最適なシステムパフォーマンスを保証するには、システム管理者としてプロセスを制御する必要があります。

マルチタスクは、Linuxオペレーティングシステムの最も魅力的な機能の1つであり、一般的な最新のコンピューターでもあります。 その結果、多数のプログラムを同時に実行できます。

目次

Linuxのプロセスとは何ですか?

Linuxでコマンドを実行したり、アプリケーションを開いたりすると、プロセスが開始されます。 一方、アプリケーションはさまざまなタスクに対して複数のプロセスを生成して実行しますが、コマンドは1つしか作成しません。

たとえば、Visual Studio Codeエディターを起動すると、Visual Studio Codeアプリケーションを終了または終了したときにのみ停止(または終了)するプロセスが開始されます。

同様に、ターミナルでコマンド(curl ifconfig.meなど)を実行すると、コマンドが完了または終了したときにのみ終了するプロセスが開始されます。

新しい各プロセスは、デフォルトでフォアグラウンドプロセスとして開始されます。 これは、新しいプロセスを開始する前に完了する必要があることを意味します。 バックグラウンドで実行されているプロセスを使用すると、同時に他の作業を行うことができます。

Linuxで実行中のプロセスを一覧表示します

Linuxのプロセスを一覧表示するには、次の3つのコマンドのいずれかを使用します。

  • ps すべてのプロセスのリストを表示します。 オプションとともに使用して、より詳細な出力を取得することもできます。
  • top 現在アクティブなプロセスのライブリストを表示し、強制終了、停止、優先度の変更などによってプロセスと対話できるようにします。
  • htop プロセスに関与する機会を伴うユーザーフレンドリーな出力での瞬時の結果

コマンドとしてpsを利用する

psコマンド(プロセスステータス)は、現在アクティブなすべてのプロセスのスナップショットを作成します。 その結果、Windowsタスクマネージャーとは異なり、結果は予測可能です。

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: 「ResidentSet Sizeの略」。これは、プロセスによって使用されるRAMの量を指します。
  • STAT:プロセスの現在の状態。
  • START:プロセスが開始された時刻。

現在実行中のプロセスを階層順に表示します。

ps -axjf

Linuxでtopコマンドを使用すると、現在実行中のプロセスのリストを取得できます

topコマンドは、CPU消費の降順で現在アクティブなプロセスのリストを提供します。 これは、最も多くのリソースを使用するプロセスがリストの一番上にあることを意味します。

top

デフォルトのリフレッシュレートである3秒では、topコマンドの出力がリアルタイムでリフレッシュされます。 次のカテゴリがtopコマンドの出力に表示されます。

  • PID(プロセス識別番号):これは、
  • ユーザー:これは、プロセスを実行している人の名前です。
  • PR:プロセスのスケジューリングの優先順位。
  • NI:プロセスの優れた価値。値が低いほど、重要性が高いことを意味します。
  • VIRT:プロセスによって使用される仮想メモリの量。
  • RES:プロセスが使用する常駐(物理)メモリの量。
  • SHR:プロセスの共有メモリの総使用量。
  • R(実行中)またはS(スリープ中):プロセスのステータス
  • %CPU: CPUが使用されている時間のパーセンテージ。
  • %MEM:メモリ使用率
  • TIME +:使用されたCPU時間の合計。
  • コマンド:手順を開始したコマンド。

次のオプションを使用して、topコマンドを操作するか、実行中に出力形式を変更します。

top [option]

  • c:プロセスパス全体を表示します。
  • d:出力リフレッシュレートをカスタム値(秒単位)に設定します。
  • h:ヘルプメニューを表示します。
  • k:プロセスを強制終了するためのPIDを提供します。
  • M:使用したメモリ量でリストを並べ替えます。
  • N: PIDに従ってリストを並べ替えます。
  • r:プロセスの適切な値(優先度)を変更するためのPIDを提供します。
  • z:出力色を変更して、実行中のプロセスを強調表示します。
  • q:コマンドプロンプトを終了します。

Linuxでhtopコマンドを使用すると、現在実行中のプロセスを確認できます。

htopコマンドは、topコマンドと同じ結果を生成しますが、よりユーザーフレンドリーで理解しやすい方法で生成されます。

このコマンドはほとんどのLinuxディストリビューションに含まれていないため、自分でインストールする必要があります。

sudo apt install htop

を使用して

htop

コマンドは次の出力を提供します。

リストプロセスLinux

htopコマンドを操作するには、次のキーを押します。

方向キーを使用して、プロセスリストを垂直方向および水平方向にスクロールします。

  • F1:ヘルプメニューを表示します。
  • F2: htopコマンドセットアップを開きます
  • F3:プロセスの名前を入力して検索します。
  • F4:プロセスのリストを名前でソートします。
  • F5:プロセス階層をソート済みリストとして表示するかツリーとして表示するかを選択します。
  • F6:プロセスを列で並べ替える
  • F7:プロセスの適切な値を下げます(優先度を上げます)。
  • F8:プロセスの適切な値を下げます(優先度を下げます)。
  • F9:現在選択されているプロセスを終了します。
  • F10:コマンドプロンプトを閉じます。

結論

Linuxオペレーティングシステムで実行中のすべてのプロセスを一覧表示する方法を知ることは重要です。 プロセスを管理する必要がある場合は、この専門知識が役立ちます。
出力とコマンドの動作をカスタマイズするには、使用可能なコマンドオプションを使用します。