为什么线程有自己的PID?

为什么线程有自己的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。

答案1

在Linux中,每个线程都有一个pid,这就是htop显示的内容。所有线程所属的“进程”是pid与其线程组id相匹配的线程。

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

Linux 上的线程是作为进程实现的吗?了解详情。

相关内容