実行中のプロセス

このページでは、Webminを使用してシステム上で実行中のプロセスを管理する方法について説明します。

プロセスの概要

Linuxシステムで実行されるすべてのプログラム、プロセス、またはコマンドはプロセスです。いつでも、システム上で実行されているプロセスは数十あります。グラフィカルに操作しているプログラム用、シェルプロンプトで開始したコマンド用、バックグラウンドで実行されているサーバー用、システムタスクを実行するプロセスなどがあります。シェルプロンプトでlsやviなどのコマンドを入力するたびに、新しいプロセスが作成され、ジョブが完了するとすぐに終了します。

各プロセスは、PIDまたはプロセスIDと呼ばれる一意のIDによって識別されます。それぞれが単一のユーザーによって所有され、プロセスが持つ特権を決定する複数のグループのメンバーです。また、それぞれに優先度(niceレベルとも呼ばれます)があり、ビジー状態のシステムでプロセスが消費できるCPU時間を制御します。ほとんどすべてのプロセスには親があります。これは、プロセスを開始したプロセスであり、所有権、優先度、およびその他の設定を継承します。

プロセスは、終了することを選択するまで、または別のプロセスからのシグナルによって強制終了されるまで実行されます。

実行中のプロセスモジュール

このモジュールを使用して、システム上のプロセスを表示、強制終了、再優先順位付け、および実行できます。システムカテゴリから初めて入力すると、メインページに次のようなプロセスのツリーが表示されます。

実行中のプロセスモジュールツリーの表示

モジュールには、システム上のすべてのプロセスを表示するいくつかの異なる方法があり、メインページの上部にある[表示]リンクで選択できます。

PIDこの表示モードでは、各プロセスは親の下にインデントされて表示され、システムで実行されているすべてのプロセスのツリーを形成します。ツリーの最上部にはinitコマンドがあります。このコマンドは、ブート時にカーネルによって開始されるため、親はありません。ユーザーこのモードでは、所有者ごとにプロセスがグループ化されます。これは、多くのユーザーがいるシステムで、各ユーザーが何を実行しているかを一目で確認するのに役立ちます。メモリこのモードでは、プロセスは使用しているメモリの量順に並べられ、ページの上部に最も多くのメモリを使用しているプロセスが表示されます。プロセスはメモリを相互に共有することが多いため、プロセスのメモリ使用量は、実際に使用しているメモリの量を常に示しているわけではありません。さらに、システム上の実メモリと仮想メモリの合計と空き量がプロセスリストの上に表示されます。 CPUこの表示モードは、現在のCPU使用率でプロセスを並べ替え、最も重いユーザーが最初に表示されます。ページを生成するWebminコマンドがリストの上部に表示されることがありますが、無視しても問題ありません。システム負荷の平均がページの上部に表示され、過去1、5、および10分間にシステムがどれだけビジーであったかがわかります。平均0は、アクティビティがまったくないことを意味し、1は、CPUが完全に使用されていることを意味し、1を超えると、システムのCPU時間よりも実行したいプロセスが多いことを意味します。

[検索]オプションと[実行]オプションは、それぞれプロセスを検索し、新しいプロセスを実行するためのものです。詳細については、以下のセクションを参照してください。

プロセスの表示、強制終了、または優先順位の再設定

メインページのいずれかのディスプレイで[プロセスID]列のエントリをクリックすると、実行中のプロセスの詳細を確認できます。 。これにより、このスクリーンショットに示されているプロセス情報ページに移動します。

詳細プロセスに関する情報

このページには、完全なコマンドライン、親コマンド、サブプロセスなど、プロセスに関する利用可能なすべての情報が表示されます。コマンドをクリックして親の情報ページに移動するか、プロセスIDをクリックして任意のサブプロセスのページに移動できます。プロセスが開いているファイルと現在使用しているネットワーク接続のリストは、[ファイルと接続]ボタンをクリックして表示できます。

[プロセスの終了]ボタンをクリックすると、TERMシグナルを使用してプロセスを停止できます。これは一部のコマンドでは無視できるため、終了に失敗した場合は、[プロセスの強制終了]ボタンを使用してKILL信号を送信できます。プロセスがカーネルシステムコール内でハングしていない限り、プロセスを強制終了すると成功することが保証されます。

他の信号を送信するには、[信号の送信]ボタンの横にある信号の種類を選択してから押します。より有用なシグナルのいくつかは次のとおりです。

HUP多くのサーバープロセスでは、このシグナルにより、構成ファイルが再読み取りされます。 STOPCONT信号が受信されるまでプロセスを一時停止します。 CONTSTOP信号によって中断されたプロセスを再開します。

情報ページを使用して、実行中のプロセスの適切なレベルを変更し、優先度を高くしたり低くしたりすることもできます。プロセスの優先度を変更するには、[*ニースレベル*]リストから新しいレベルを選択し、[変更]ボタンをクリックします。レベルが低いほど優先度が高くなるため、レベルが10のプロセスは、レベル5のプロセスよりもCPU時間が長くなります。

複数のユーザーがいるシステムでは、長時間実行されるプロセスが多くの時間を費やします。 CPU時間は、ユーザーと対話しているプロセスの速度を低下させないように、より高い適切なレベルを与える必要があります。または、プロセスのレベルを低くすることで、他の人を犠牲にしてプロセスを高速化することもできます。他のすべてのプロセスでCPU時間が不足し、システムが応答しなくなる可能性があるため、極端に低いレベル(20など)を設定する場合は注意が必要です。

プロセスの検索

システムで実行中のプロセスが多数あり、1つ以上のプロセスを強制終了または表示する場合は、実行中のプロセスモジュールの検索機能を使用します。プロセスを見つけるには、次の手順に従います。

  1. モジュールのメインページで、[表示モードの検索]リンクをクリックします。これにより、スクリーンショットに示すような検索フォームが表示されます。以下。
  2. フォームには、プロセスを見つけるためのいくつかの異なる基準が表示されます。そのうちの1つは、横にあるラジオボタンを選択して選択できます。基準は次のとおりです。次に名前を入力したユーザーが所有するプロセスが所有#*マッチングコマンドまたは引数にこのオプションの横に入力したテキストが含まれているプロセスを検索します。以上を使用します。CPU時間の指定されたパーセンテージを超えて使用しているプロセスを検索します。ファイルシステムを使用します。選択したファイルシステム、またはその上の任意のファイルにアクセスしているファイルが見つかります。ファイルシステムがビジーであるため、マウントを解除します。ファイルの使用入力したファイルを読み取りまたは書き込み用に開いているプロセスを検索します。ディレクトリを入力すると、それを現在のディレクトリとして持つプロセスがすべて見つかります。ポートの使用選択したプロトコルを使用して、入力したポートでネットワークトラフィックを送信、受信、またはリッスンしているプロセスを検索します。サーバーがリッスンしているポート番号がわかっていて、サーバープロセスを見つけたい場合に便利です。アドレスの使用入力したアドレスに対してネットワーク接続が開いているプロセス、またはシステム上のインターフェイスの場合はそのアドレスをリッスンしているプロセスを検索します。
  3. 結果からWebmin検索プロセスをフィルタリングするには、[結果の検索プロセスを無視する]オプションを選択します。これは、Webminプロセスが多くのCPU時間を消費するため、CPU使用率で検索する場合に役立ちます。
  4. 検索条件を選択したら、[検索]ボタンをクリックします。一致するプロセスがフォームの下に表示されます。
  5. プロセスに関する追加情報を表示したり、優先度を変更したり、単独でシグナルを送信したりする場合は、結果でプロセスIDをクリックします。
  6. 一致するすべてのプロセスを強制終了するには、[プロセスの終了]または[プロセスの強制終了]ボタンをクリックします。 [*信号の送信*]ボタンの横にあるリストから信号を選択して、すべてのプロセスに信号を送信することもできます。各プロセスIDと、それが正常に通知されたか強制終了されたかを一覧表示するページが表示されます。

プロセス検索フォーム

プロセスの実行

モジュールを使用して、出力が表示されるようにフォアグラウンドで、またはデーモンとしてバックグラウンドで、単純なコマンドを実行することもできます。これは、telnetまたはSSH経由でログインせずにコマンドを実行したい場合(またはファイアウォールがtelnetまたはSSHログインを妨げている場合)に役立ちます。実行する手順は次のとおりです。

  1. モジュールのメインページで、表示モードオプションの横にある[実行]リンクをクリックします。これにより、新しいプロセスを開始するためのフォームが表示されます。
  2. 実行するコマンドを[実行するコマンド]フィールドに入力します。シェル演算子と、;、& lt、>、& を使用できます。
  3. コマンドの実行に時間がかかる場合は、[実行モード]オプションを[バックグラウンドで実行]に設定して、Webminが自動的にバックグラウンドに配置するようにすることができます。ただし、コマンドからの出力を確認する場合は、オプションを[完了するまで待機]に設定したままにします。
  4. コマンドに入力する入力を[*コマンドへの入力*]フィールドに入力します。
  5. [実行]ボタンをクリックして実行します。 [完了まで待機]オプションが選択されている場合、コマンドからの出力が表示されます。

    コマンドの実行

モジュールアクセス制御オプション

デフォルトでは、このモジュールにアクセスできるWebminユーザーは、実行中のすべてのプロセスを管理できます。彼がrootとしてログインしているかのように、システム上で。ただし、Users and Groupsモジュールを使用すると、ユーザーのアクセスを制限して、特定のUnixユーザーが所有するプロセスのみを強制終了または再調整できるようにすることができます。また、ユーザーを読み取り専用モードに制限して、プロセスを変更したり、新しいプロセスを開始したりしないことで、プロセスのみを表示できるようにすることもできます。

最初に第52章を読んで、モジュールのアクセス制御と、実行中のプロセスモジュールへのユーザーアクセスを許可する方法について学習する必要があります。それが完了したら、このモジュールへのWebminユーザーのアクセスを編集するには、次の手順に従います。

  1. Webminユーザーモジュールで、ユーザー名の横にある[実行中のプロセス]をクリックします。または制限するグループ。
  2. [モジュール構成を編集できますか?]フィールドを[いいえ]に変更します。
  3. 特定のUnixユーザーが所有するプロセスのみにWebminユーザーがアクセスできるようにするには、 [*プロセスをユーザーとして管理*]フィールドにユーザー名を入力します。UnixユーザーとWebminユーザーの名前が同じ場合は、代わりに[現在のWebminユーザー]を選択できます。これは、それぞれが必要なグループのモジュールアクセス制御を設定するときに役立ちます。メンバーは自分のプロセスのみを管理できるようにします。
  4. ユーザーを読み取り専用モードにするには、*プロセスを強制終了および解放できますか?*およびコマンドを実行できますか?*フィールドを*いいえに設定します。これは実行されます。プロセス管理を実行できないため、手順7で入力するユーザー名は実際には重要ではありません。
  5. [保存]ボタンをクリックして、変更を有効にします。

Webminユーザーが管理できるプロセスを制限するには、モジュールコードを切り替えて、手順4で指定したUnixユーザーとして実行します。Unixユーザーはプロセスを強制終了したり、優先順位を付け直したりできないためです。彼が所有していない場合、このようにユーザーを切り替えると、オペレーティングシステムはWebminのプロセスアクセス制御を自動的に適用します。

その他のオペレーティングシステム

プロセスはほとんどすべてのバージョンのUnixに存在するため、同一の属性であるこのモジュールは、サポートされているすべてのオペレーティングシステムでほぼ同じように見えます。

プロセスに関する詳細情報を表示すると、他のオペレーティングシステムで異なる情報が利用できる場合があります。素敵なレベルの範囲も異なる場合がありますが、レベルが低いほど優先度が高くなり、その逆も同様です。

プロセスを検索する場合、ファイルシステムの使用、ファイルの使用、またはポートの使用基準が使用できない場合があります。これらのオプションは、すべてのシステムでデフォルトで使用できない、またはインストールされていないfuserおよびlsofコマンドによって異なります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です