如何列出有关线程/LWP 的信息ps
?
为什么我不能简单地这样做:
$ ps 10173
PID TTY STAT TIME COMMAND
$ ps -L 10173
PID LWP TTY STAT TIME COMMAND
我能做的最好的
$ ps -eL | grep 10173
10172 10173 pts/8 00:00:00 java
这是一个 LWP,因为
$ ps -L 10172
PID LWP TTY STAT TIME COMMAND
10172 10172 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10173 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10174 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10175 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10176 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10177 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10178 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10179 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10180 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10181 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10182 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10183 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10184 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10185 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10186 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10187 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10188 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10189 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
10172 10190 pts/8 Tl 0:00 java -cp target com.mycompany.app.Main
和
$ pstree -pau -l -G -s 10172
systemd,1 splash
└─lxterminal,3194,t
└─bash,12150
└─java,10172 -cp target com.mycompany.app.Main
├─{java},10173
├─{java},10174
├─{java},10175
├─{java},10176
├─{java},10177
├─{java},10178
├─{java},10179
├─{java},10180
├─{java},10181
├─{java},10182
├─{java},10183
├─{java},10184
├─{java},10185
├─{java},10186
├─{java},10187
├─{java},10188
├─{java},10189
└─{java},10190
谢谢。
如果您只想查看该 LWP 进程,
ps -e -q 10172
. 如果你想查看所有相关的线程,那么你可以这样做ps -eL -q 10172
因此,例如,在我的机器上
rsyslog
有线程:我可以看到一个线程(例如 22320)
请注意,它显示了进程的主 PID。
我可以看到该线程的所有相关进程:
另一种查找 LWP 或线程 ID 的方法。
我针对两个示例文件 a.txt 和 b.txt 打开 vi 编辑器
LWP = 轻量级进程或线程 ID NLWP = 轻量级进程数
您可以分别查看 PID“2662|2663”的线程 ID (LWP)“2662|2663”。
从上面的输出中,您可以看到所有这些进程都有相同的 PID 号(1470)。但是,它们具有唯一的线程 ID 编号(1470、1471、1472、1473、1474)。
在 Linux 中,这些线程 id 编号由 LWP 表示(ps 命令列名也是 LWP)。LWP 代表轻量级工艺。
实际上......在linux中,每个程序都至少有一个线程。