Linuxはどのように速く実行中のプロセスを見つけますか?

1371 ワード

1プロセスの概要
分かりやすいプログラムはコードを実行できる静的なファイルです。プロセスは実行を開始したが、まだ終了していないプログラムの例である。
プログラムがシステムによってメモリに呼び出されると、システムはプログラムに一定のリソース(メモリ、デバイスなど)を割り当て、一連の複雑な操作を行い、プログラムをシステム起動のためのプロセスにします。
1.1プロセスの分類
プロセスの機能と実行するプログラムの分類によって、プロセスは二つの種類に分けられます。
システムプロセス
メモリリソースの割り当てやプロセスの切り替えなどの管理作業が可能であり、またこのプロセスの実行はユーザーの関与を受けず、rootユーザであってもシステムプロセスの実行には関与しない。
ユーザプロセス
ユーザプログラム、アプリケーション、またはカーネル以外のシステムプログラムを実行することによって生成されるプロセスは、ユーザの制御の下で実行またはクローズされ得る。
ユーザープロセスに対しては、次の3つに分けることができます。
インタラクションプロセス:Shell端末の他のプロセスによって、実行中にユーザとインタラクティブ操作が必要であり、フロントで実行でき、バックグラウンドでも実行できます。
バッチプロセス:このプロセスは一つのプロセスの集合で、他のプロセスを順次起動する責任があります。
デーモンプロセス:デーモンプロセスは、常にLinuxシステムで起動され、システムが閉じられた時に終了するプロセスです。それらは制御端末と独立していて、周期的に地質学的なある種のタスクを処理したり、ある種の発生時間を処理するのを待つ。例えば、httpdプロセス、crondプロセスなど。
次はLinuxがどのように速く進行中のプロセスを見つけるかを見ます。具体的な内容は以下の通りです。
日常的なメンテナンスの過程で、もし私たちがよく知らない環境に遭遇したら、どうやって一番速いスピードでプロセスのディレクトリを探しますか?特に複数のバージョンのソフトウェアがあります。この方法を使うことができます。
スクリーンショットのように、実行するinxプロセスは、一見して、どのディレクトリにあるか全然分かりません。

どのようにして最初に対応するプロセスの具体的な位置を見つけますか?
私たちはコマンドls -l /proc/11281/exe を使って、プロセスの具体的な位置を以下のスクリーンショットに表示できます。

以上は小编で绍介したLinuxがどのように速く実行中のプロセスに関する知识を见つけられますか?