カーネルによって作成されたプロセスは「親プロセス」と呼ばれます。親プロセスからフォークまたは生成されたプロセスは、「子プロセス」と呼ばれます。親プロセスは、それぞれが固有の PID (プロセス ID) を持ち、同じ PPID を共有する複数の子プロセスで構成される場合があります。
このガイドでは、Linux システム上で親プロセス ID (PPID) またはプロセスを見つけるために使用できるさまざまな方法を検討します。
PID と PPID の違いは何ですか?
メモリにロードされて実行されるプログラムはプロセスと呼ばれます。プロセスが開始されると、プロセス ID (PID) と呼ばれる固有の番号が割り当てられ、システム内でプロセスを一意に識別します。プロセスは、PID を使用していつでも参照できます。たとえば、プロセスを強制終了するには、まずその PID を知る必要があります。
PID に加えて、各プロセスには、どのプロセスがプロセスを生成したかを示す親プロセス ID (PPID) が割り当てられます。したがって、PPID はプロセスの親の PID になります。
これを説明するために、PID 5050 のプロセス 5 がプロセス 6 を開始すると仮定します。プロセス 6 には、6670 などの一意の PID が割り当てられますが、引き続き PPID 5050 が割り当てられます。
ここでの親プロセスはプロセス 5 で、子プロセスは 6 です。子プロセスには一意の PID が割り当てられますが、PPID は親プロセスの PID (プロセス 5) と同じです
単一の親プロセスは複数の子プロセスを開始できます。各子プロセスは一意の PID を持ちますが、すべてが同じ PPID を共有します。
Linux での親プロセス ID (PPID) の検索
Linux システム上で実行中のプロセスの PPID を見つけるには、主に 2 つの方法があります:
pstree コマンドを使用して、Linux プロセス PPID
を検索します。pstree コマンドは、実行中のプロセスをツリー形式で表示するコマンド ライン ツールで、プロセスを階層的に表示する便利な方法です。親子関係をツリー状の階層で表示します。
-p オプションを使用すると、pstree は実行中のすべての親プロセスとそれに対応する子プロセス、およびそれぞれの PID を表示します。
リーリーLinux 実行プロセスをツリー階層で表示します
出力から、親プロセス ID と子プロセス ID を確認できます。
デモのために、次のコマンドを使用して Mozilla Firefox の PPID とプロセス階層全体を調べます:
リーリーLinux プロセスの PPID を見つけます
出力から、Firefox の PPID は 21401 で、残りは子プロセスの PID であることがわかります。
Firefox の PPID のみを表示し、残りの出力をスキップするには、出力を head コマンドにパイプして、-1 を付けて最初の行を表示します。
リーリーLinux プロセスの PPID を出力します
ps コマンドを使用して、Linux プロセス PPID
を検索します。プロセスの PPID を見つけるもう 1 つのオプションは ps コマンドです。これは、Linux システム上で現在実行中のプロセスを表示するために広く使用されているコマンドです。
-ef オプションとともに使用すると、ps コマンドは、実行中のすべてのプロセスとその詳細 (UID、PID、PPID など) を一覧表示します。
リーリーPID を使用して実行中の Linux プロセスを一覧表示する
Firefox などの特定のプロセスの PPID を絞り込んで表示するには、次のように -e オプションを渡し、出力を grep コマンドにパイプ処理します。 リーリー
Linux プロセス PID の検索もう一度、出力から、Firefox の PPID が 21401 であることがわかります。
このガイドでは、Linux システム上で実行中のプロセスの PPID を見つける方法を説明します。 pstree コマンドまたは ps コマンドを使用して、同じ目的を達成できます。
以上がLinuxで親プロセスのPPIDを見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。