为什么线程有自己的PID?

Dea*_*ean 9 linux process multithreading

我正在使用 htop 并查看启动多个线程来搜索文件中文本的进程(rg),这是以下中的树视图htop

PID   Command
1019  |- rg 'search this'
1021     |- rg 'search this'
1022     |- rg 'search this'
1023     |- rg 'search this'
Run Code Online (Sandbox Code Playgroud)

为什么我会看到进程线程的 PID?我认为线程没有 PID,它们只是共享其父级的 PID。

Ste*_*itt 16

在Linux中,每个线程都有一个pid,\xe2\x80\x99shtop显示的内容。所有线程所属的\xe2\x80\x9cprocess\xe2\x80\x9d是pid与其线程组id匹配的线程。

\n

在您的情况下,将显示值 1019(对于所示的grep Tgid /proc/1021/status所有标识符都是如此)。rghtop

\n

请参阅Linux 上的线程是否被实现为进程?了解详情。

\n