Linux
為什麼執行緒有自己的PID?
我正在使用 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 上的執行緒是否作為程序實現?詳情。