Inter-process-communication-process-information
プロセス情報
プロセス情報に入る前に、次のようないくつかのことを知る必要があります-
プロセスとは何ですか? プロセスは実行中のプログラムです。
プログラムとは何ですか? プログラムは、プロセスの情報と、実行中にプロセスを構築する方法を含むファイルです。 プログラムの実行を開始すると、プログラムがRAMにロードされ、実行が開始されます。
各プロセスは、プロセスIDまたは単にPID(プロセス識別番号)と呼ばれる一意の正の整数で識別されます。 カーネルは通常、プロセスIDを32767に制限しますが、これは構成可能です。 プロセスIDがこの制限に達すると、プロセスIDが再びリセットされます。これは、システムが範囲を処理した後です。 そのカウンターの未使用プロセスIDは、新しく作成されたプロセスに割り当てられます。
システムコールgetpid()は、呼び出しプロセスのプロセスIDを返します。
この呼び出しは、一意であることが保証されている呼び出しプロセスのプロセスIDを返します。 この呼び出しは常に成功するため、エラーを示す戻り値はありません。
各プロセスにはプロセスIDと呼ばれる固有のIDがありますが、それは誰が作成したのでしょうか? 作成者に関する情報を取得する方法は? 作成者プロセスは親プロセスと呼ばれます。 親IDまたはPPIDは、getppid()呼び出しを介して取得できます。
システムコールgetppid()は、呼び出しプロセスの親PIDを返します。
この呼び出しは、呼び出し元プロセスの親プロセスIDを返します。 この呼び出しは常に成功するため、エラーを示す戻り値はありません。
簡単な例でこれを理解しましょう。
以下は、呼び出しプロセスのPIDとPPIDを知るプログラムです。
上記のプログラムのコンパイルと実行では、以下が出力されます。
注意-“ C”ライブラリ関数system()はシェルコマンドを実行します。 system()に渡される引数は、シェルで実行されるコマンドです。 上記のプログラムでは、コマンドはプロセス状態を示す「ps」です。
/procの場所にあるprocファイルシステムから、実行中のすべてのプロセスに関する完全な情報およびその他のシステム関連情報にアクセスできます。