GNU/Linux >> Linux の 問題 >  >> Panels >> Webmin

実行中のプロセス

このページでは、実行中のプロセスを管理する方法について説明します 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
多くのサーバープロセスでは、このシグナルにより、構成ファイルが再読み取りされます。
停止
CONTになるまでプロセスを一時停止します 信号を受信します。
続き
STOPによって中断されたプロセスを再開します 信号。

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

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

プロセスの検索

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

  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コマンドによって異なります。


Webmin
  1. Ssh – Sshセッションが切断された後もプロセスを実行し続けますか?

  2. 実行中のプロセスの環境を変更しますか?

  3. 同じが実行されている場合はプロセスを確認しますか?

  1. エントリープロセスと説明されたプロセスの数

  2. Ubuntu Linux でのプロセスの管理

  3. Raspbian でのプロセスの強制終了

  1. ポート 80 で実行中のプロセスを強制終了する

  2. 実行中のプロセスが属するグループを特定する

  3. 特定のプロセス/サービスが実行されているかどうかを確認する汎用 Nagios プラグイン?