ユーザーアプリケーションからシステムサービスまで、Linuxシステムで実行されているすべてのものは、独自の個別のプロセスです。コンピュータが空白の端末画面に座っている場合でも、バックグラウンドで実行されているプロセスが多数あることは間違いありません。システム上のすべてのプロセスを識別するために使用できるLinuxツールがいくつかあります。これについては、このガイドで説明します。
実行中のプロセスを確認する方法を知っていると、次のことが可能になります。何かが実行されているかどうかを確認し、必要に応じて終了し、システムのリソース(CPUとRAM)への影響を監視します。
psコマンドを使用したプロセスの一覧表示
psコマンド-eオプションを使用してLinuxシステムで実行されているすべてのプロセスを一覧表示できます。
ps -e
システムで多数のプロセスが実行されているのは正常です。いつでも、コマンドをmoreにパイプすることで、このリストを簡単にふるいにかけることができます。たとえば、一度に15行を表示するには:
ps -e | more -15
psからの出力には、実行中のすべてのプロセス、それぞれのプロセスID(PIDと略記)、およびTTY(プロセスが実行されているターミナルインターフェイス)が表示されます。TTY列の疑問符は、プロセスが実行されていないことを意味します。任意の端末intに接続されていますerface-バックグラウンドで実行されているだけです。
プロセスを強制終了するにはプロセスのPID、または正しいプロセスに再接続して開いているプロセスに戻ることができるようにTTYを知る必要がある場合があります。ターミナルウィンドウ。
psのもう1つの便利なオプションは-auxオプションです。
ps -aux
前のオプションと同様に、これによりすべてのプロセスが一覧表示されます。システムで実行されています。ただし、各プロセスの現在のCPUとRAMの使用状況、および各プロセスを生成したコマンドも一覧表示されます。
pgrepを使用したプロセスの検索
pgrepのコンマによる組み合わせの種類psとgrep。検索するプロセスの名前(または名前の一部)を指定すると、pgrepはそれぞれのプロセスIDを返します。
たとえば、SSHを検索するにはシステムの関連プロセスには、次のように入力します。
pgrep ssh
上のスクリーンショットに示すように、pgrepはPIDが1143のSSHプロセスを検出しました。確認します。psコマンドで確認しましょう:
ps -e | grep 1143
topで実行中のプロセスを表示
もちろん、topユーティリティはコマンドラインツールですが、現在実行中のすべてのプロセスのインタラクティブな出力を提供し、グラフィカルインターフェイスに表示されるはずの情報を表示します。開始するのは簡単です。topと入力するだけです。
top
上からの出力はwiを提供しますシステム全体のCPUとRAMの使用量など、多くの情報。ただし、プロセスのリストについては、そのすぐ下にあります。
ターミナルウィンドウは、topが実行中のすべてのプロセスを一覧表示するのに十分な大きさではないため、topには同じ数のプロセスが表示されます。つまり、CPUとRAMを最も多く使用しているプロセスが一番上に表示され、要求の少ないプロセスがリストの一番下に表示され、ターミナルウィンドウから切り離される可能性があります。
キーボードの矢印キーを使用して、プロセスのリストを上下にスクロールします。
実行中の各プロセスについてかなりの情報がリストされています。ここでは、「これらのさまざまな列の意味を簡単に説明します。
- PID:各タスクのプロセスID。
- PR:タスクのスケジュールの優先度。
- NI:タスクの良い値。負の数は優先度が高いことを示します。
- VIRT:使用されている仮想メモリの量。
- RES:常駐メモリの量。使用中です。
- SHR:使用中の共有メモリの量。
- S:タスクのステータス(R =実行中、S =スリープ中)。
- %CPU:タスクによって使用されている現在のCPUパーセンテージ。
- %MEM:タスクによって使用されている現在のRAMパーセンテージ。
- TIME +:タスクのCPU時間。
- コマンド:タスクを生成するために使用されるコマンド。
前述のように、topはインタラクティブであるため、キーボードのショートカットを使用して、タスクをうまく処理できます。」以下の便利なものをいくつか見ていきます。
zキーを押して、実行中のプロセスを色分けします。これにより、実行中のタスクをスリープまたはゾンビプロセスと区別しやすくなります。
cキーを押すと、各タスクに使用される完全なコマンドが表示されます。これにより、使用されているオプションとともに絶対パスが表示されます。
kキーを押すと、最上位のユーティリティから実行中のプロセスが強制終了されます。これにより、ユーティリティを終了して別のkillコマンドを発行する手間が少し節約されます。終了するプロセスのPIDを入力するだけです。
rキーを押して、reniceを使用するプロセスの優先度を変更します。reniceするプロセスのPIDを入力します。
その他のオプションについては、h(ヘルプ)キーを押して、topが実行できる他のすべてを確認してください。
topユーティリティの使用が終了したら、qを押してツールを終了し、ターミナルに戻ることができます。
htopで実行中のプロセスを表示する
htopユーティリティは上から構築されており、もう少しユーザーフレンドリーで見て楽しいです。唯一の欠点は、デフォルトですべてのLinuxディストリビューションにインストールされるわけではないため、最初にインストールする必要がある場合があります。オペレーティングシステムのリポジトリにインストールする必要があるため、パッケージマネージャーを使用してインストールする方法を次に示します。
DebianとUbuntu:
sudo apt-get install htop
CentOSとFedora:
dnf install htop
レッドハット:
yum install htop
インストールしたら、htopと入力してユーティリティを実行します。
htop
マウスを使用してhtopを操作でき、さまざまなキーボードコマンドがターミナルウィンドウの下部に一覧表示されます。機能はtopとほぼ同じですが、インターフェイスがすっきりしていて、わかりやすくなっています。
結論
このガイドでは、Linuxシステムで実行中のプロセスを表示するためのいくつかの異なる方法を示しました。どちらを使用するかは、現在の状況と状況によって異なります。個人的な好みですが、それぞれの方法には独自の利点があります。