ps -d
のように、セッションリーダーとは何ですか セッションリーダーを除くすべてのプロセスを選択しますか?
承認された回答:
Linuxでは、すべてのプロセスに次のようないくつかのIDが関連付けられています。
-
プロセスID(PID)
これは、プロセスを識別する任意の番号です。すべてのプロセスには一意のIDがありますが、プロセスが終了し、親プロセスが終了ステータスを取得した後、プロセスIDは解放され、新しいプロセスで再利用できます。
-
親プロセスID(PPID)
これは、問題のプロセスを開始したプロセスのPIDにすぎません。子が終了する前に親プロセスが終了すると、子のPPIDは別のプロセス(通常はPID 1)に変更されます。
-
プロセスグループID(PGID)
これは、プロセスグループリーダーの単なるPIDです。 PID ==PGIDの場合、このプロセスはプロセスグループリーダーです。
-
セッションID(SID)
これは、セッションリーダーの単なるPIDです。 PID ==SIDの場合、このプロセスはセッションリーダーです。
セッションとプロセスグループは、関連する多数のプロセスを1つの単位として扱うための単なる方法です。プロセスグループのすべてのメンバーは常に同じセッションに属しますが、セッションには複数のプロセスグループが含まれる場合があります。
通常、シェルはセッションリーダーになり、そのシェルによって実行されるすべてのパイプラインはプロセスグループになります。これは、シェルが終了するときにシェルの子を簡単に殺すためです。 (厄介な詳細については、exit(3)を参照してください。)
リーダーではないセッションまたはプロセスグループのメンバーに特別な用語はないと思います。