SPIDの略語とはどういう意味ですか?

SPIDの略語とはどういう意味ですか?

psこのフラグを持つコマンドは、-TTID(スレッドID)とも呼ばれるSPID列を出力します。それでは、SPIDはどういう意味ですか?

ソースコードは、ps名前が次の理由を知らないようです。

trace("-T adds strange SPID column (old sproc() threads?)\n");

https://gitlab.com/procps-ng/procps/-/blob/newlib/src/ps/parser.c#L320

答え1

引用するsprocこれは、SPIDが「共有グループプロセスID」のようなものを参照できることを示すIRIX(Linuxのスレッドと同様)に新しい「共有グループ」プロセスを作成します。

おわかりのように、実際にはLinuxのスレッドIDがpsSPID列に表示されます。つまりカーネルの観点から見たプロセスID(psPID列に表示されるプロセスIDは、カーネルの観点から見たプロセスグループIDです)。これは、このオプションを使用してLWP列に表示される情報と同じです-L。これが実際にIRIXの動作であるかどうかはわかりません。IRIX のpsマニュアルページ-Tオプションを次のように記録するSPID列については言及していません。

個々のカーネルスレッドのデータを一覧表示します。一般的に提供される情報は、プロセス内のすべてのスレッドの合計です。これは、POSIXスレッドプロセスを調べるときに便利です。

答え2

procpsのSPIDはpsTIDまたはスレッドIDを表示します。プロセスまたはスレッドプロセスIDを表示するPIDおよびTGID列とは対照的です。

プロセスは同じプロセスIDとスレッドIDを持ちます。プロセスのすべてのスレッドもプロセスIDを共有しますが、スレッドIDは異なります。

$ ps -L -o pid,tgid,tid,spid,cmd 232810
    PID    TGID     TID    SPID CMD
 232810  232810  232810  232810 /usr/libexec/gnome-terminal-server
 232810  232810  232811  232811 /usr/libexec/gnome-terminal-server
 232810  232810  232813  232813 /usr/libexec/gnome-terminal-server
 232810  232810  232814  232814 /usr/libexec/gnome-terminal-server

メインプロセス232810と3つのスレッド232811、232813、232814があります。

tid と spid は別名で、両方とも同じ関数を呼び出して同じ値を出力します。違いは、SPIDはSGIオペレーティングシステムからのもので、TIDはAIXからのものです。

関連情報