Linux

為什麼執行緒有自己的PID?

  • September 28, 2021

我正在使用 htop 並查看一個程序(rg),它啟動了多個執行緒來搜尋文件中的文本,這是樹視圖htop

PID   Command
1019  |- rg 'search this'
1021     |- rg 'search this'
1022     |- rg 'search this'
1023     |- rg 'search this'

為什麼我會看到程序執行緒的 PID?我認為執行緒沒有 PID,它們只是共享父級的 PID。

在 Linux 中,每個執行緒都有一個 pid,這就是所htop顯示的。所有執行緒所屬的“程序”是 pid 與其執行緒組 id 匹配的執行緒。

在您的情況下,grep Tgid /proc/1021/status將顯示值 1019(對於rg顯示的所有標識符都是如此htop)。

請參閱Linux 上的執行緒是否作為程序實現?詳情。

引用自:https://unix.stackexchange.com/questions/670836