スレッド グループ識別子 (TGID) は、実際にはプロセスのメイン スレッドのタスク識別子です。また、メインスレッドのタスク識別子は、プロセス全体のプロセス識別子です。これは、同じプロセス内の任意のスレッドからgetpid()によって返される値です。つまり、gettid()は、メイン スレッドのgetpid()と同じ値を返します。
このコマンドでは、 tgid書式指定子ps
を使用してスレッド グループ識別子を取得します。次のコマンドを使用すると、pid = tgid = tidの行がプロセスのメイン スレッドであることがわかります。ps
$ ps -eLo pid,tgid,tid,comm
PID TGID TID COMMAND
890 890 890 rsyslogd <-- Main thread = thread group id
890 890 915 in:imuxsock
890 890 916 in:imklog
890 890 917 rs:main Q:Reg
891 891 891 snapd <-- Main thread = thread group id
891 891 934 snapd
891 891 935 snapd
891 891 936 snapd
891 891 937 snapd
891 891 938 snapd
891 891 1000 snapd
891 891 1006 snapd
891 891 1007 snapd
891 891 1009 snapd
891 891 1010 snapd
891 891 1042 snapd
891 891 1043 snapd
891 891 1062 snapd
891 891 1063 snapd
891 891 1064 snapd
891 891 1542 snapd
891 891 1544 snapd
[...]