Linux では、ppid は親プロセスの PID、つまり親プロセスのプロセス ID 番号を指します。プロセスが作成されると、それを作成したプロセスは親プロセスと呼ばれ、子プロセスは PPID を使用してその親プロセスが誰であるかを示します。これを表示するには、「ps -ef | grep プロセス名」コマンドを実行できます。出力結果の 3 列目は ppid 値です。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
A プロセスには複数の属性パラメータが含まれています。ps コマンドを使用すると、現在のシステムのプロセスに関する詳細情報を表示できます。例:
[root@localhost ~]# ps -le F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIMECMD 4 S 0 1 0 0 80 0 - 718 - ? 00:00:02 init 1 S 0 2 0 0 80 0 - 0 - ? 00:00:00 kthreadd …省略部分输出…
各プロセスに F が含まれていることがわかります。 、S、UID、PID およびその他の属性これらの属性パラメーターは、プロセスが処理される順序、アクセスできるリソースなどを決定し、システム管理者とプログラマーの両方にとって非常に重要です。
次の記事では、UID、PID、PPID などの一般的な属性パラメーターについて説明します。
UID (実ユーザー ID)
UID User Identification の略称。 UID ユーザーが登録されると、システムは自動的に UID 値を与えます。これは、このユーザーに番号を与えることを意味します。
プロセスの作成者と root ユーザーだけがプロセスを操作する権限を持っているため、プロセスの作成者 (つまり、所有者) を記録することが非常に必要です。プロセスの UID は、プロセスの作成者のユーザー ID 番号であり、プロセスの所有者を識別するために使用されます。
EUID (実効ユーザー ID)
Linux は、UID に加えて、EUID と呼ばれるプロセスの「実効ユーザー ID 番号」も保存します。この特別な UID 番号は、特定のリソースおよびファイルに対するプロセスのアクセス権を決定するために使用されます。有名な setuid プログラムを除いて、ほとんどの場合、プロセスの UID と EUID は同じです。
それでは、setuid プログラムとは何でしょうか? passwd コマンドについては前に説明しましたが、このコマンドを使用すると、ユーザーはログイン パスワードを変更できます。しかし、読者はこの問題を考慮したことがありますか? パスワードは /etc/shadow ファイルに保存されています。このファイルは通常のユーザーには読み取れません。では、なぜユーザーはシャドウ ファイルを変更することでパスワードを変更できるのでしょうか?
これが setuid の優れた点です。実行フェーズ中に passwd にファイル所有者 (つまり root) の権限を与えることで、ユーザーは一時的にシャドウ ファイルを変更できるようになります (もちろん、これは能力は限られています)の)。したがって、passwd は典型的な setuid プログラムであり、その UID はこのコマンドを現在実行しているユーザー ID であり、EUID は root ユーザーの ID (つまり 0) です。
PID (プロセス ID 番号)
システムは、各ユーザーにその ID を識別する ID 番号 (UID) を割り当てます。プロセスにも同様にID番号があり、これをPID(Process Identification)と呼びます。
コンピューターにとって、文字列を認識するよりも数字を認識する方が常に便利であるため、ID を使用してプロセスを決定する方法は非常に有益であることを知っておく必要があります。Linux は理解する必要がありません。人間にとって非常に「役に立つ」もの プロセス名の意味
Linux 自体は PID を使用してプロセスを決定するだけでなく、ユーザーがプロセスを管理するときに対応する PID 番号を提供する必要もあります。実際、ほとんどすべてのプロセス管理ツールは、プロセス名の代わりに PID 番号を受け入れます。
PPID (親プロセスの PID)
Linux では、すべてのプロセスは別のプロセスによって作成される必要があります (システムの起動時を除く。カーネルによって自律的に作成されます)。およびそれらのプロセスがインストールされています)。プロセスが作成されると、そのプロセスを作成したプロセスは親プロセスと呼ばれ、そのプロセスは子プロセスと呼ばれます。
子プロセスは PPID を使用して、誰がその「父親」であるかを示します。PPID が親プロセスの PID を参照していることは容易に理解できます。
上記の説明では、「作成」という単語が何度も使用されていることに注意してください。これは、表現と理解を容易にするためです。実際、Linux では、プロセスを「何もないところから」作成することはできません。つまり、Linux には、アプリケーションがプロセスを「作成」できるようにするシステム コールが用意されておらず、アプリケーションは自分自身のクローンを作成することによってのみ新しいプロセスを生成できます。
説明:
PID と PPID はどちらもゼロ以外の整数です。
PID は一意であり、PID は 1 つのプロセスのみを識別します。
あるプロセスによって作成された別の新しいプロセスを子プロセスと呼びます。逆に、子プロセスを作成するプロセスを親プロセスと呼びます。
通常のユーザー プロセスの場合、親プロセスはそれを実行するシェルですが、Linux の場合、シェルは bash です。
プロセスの PID と PPID を表示する Linux メソッド
#例: プロセスの PID 番号を表示します。 nginx process,ps -ef | grep nginx
実行後、プロセスの PID と PPID 番号を返すことができます
コマンドは拡張機能を使用してプロセスを強制終了します
例、nginx プロセスを強制的に終了する
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinux PID とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。