在Linux中,查看进程下的线程有很多种方式,常见的有:top、ps、htop(需额外安装),具体的参考:Link,下面主要介绍使用ps命令的方式。
在ps命令中,“-T” 选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。
比如查看进程10043的子进程命令如下:
ps -T -p 10043
查询结果如下:
$ ps -T -p 10043
PID SPID TTY TIME CMD
10043 10043 pts/9 00:00:06 /home/sokf/.jum
10043 10047 pts/9 00:00:00 python3
10043 10048 pts/9 00:00:00 python3
10043 10049 pts/9 00:00:00 python3
10043 10050 pts/9 00:00:00 python3
10043 10064 pts/9 00:00:00 /home/sokf/.jum
10043 10046 pts/9 00:00:00 /home/sokf/.jum
但是这里有一个问题,上述结果最后一列的CMD显示不完整,我们可以使用下面的命令解决:
ps -efwwww -T -p 10043 | grep 10043 | grep -v grep | grep -v ps
查询结果如下:
$ ps -efwwww -T -p 10043 | grep 10043 | grep -v grep | grep -v ps
sokf 10043 10043 9940 1 09:23 pts/9 00:00:06 /home/sokf/.jumbo/bin/python3 /home/sokf/rs/SO/ku-flow-replay/ku_flow_replay/ku_flow_replay_server.py
sokf 10043 10047 9940 0 09:23 pts/9 00:00:00 /home/sokf/.jumbo/bin/python3 /home/sokf/rs/SO/ku-flow-replay/ku_flow_replay/ku_flow_replay_server.py
sokf 10043 10048 9940 0 09:23 pts/9 00:00:00 /home/sokf/.jumbo/bin/python3 /home/sokf/rs/SO/ku-flow-replay/ku_flow_replay/ku_flow_replay_server.py
sokf 10043 10049 9940 0 09:23 pts/9 00:00:00 /home/sokf/.jumbo/bin/python3 /home/sokf/rs/SO/ku-flow-replay/ku_flow_replay/ku_flow_replay_server.py
sokf 10043 10050 9940 0 09:23 pts/9 00:00:00 /home/sokf/.jumbo/bin/python3 /home/sokf/rs/SO/ku-flow-replay/ku_flow_replay/ku_flow_replay_server.py
sokf 10043 10064 9940 0 09:23 pts/9 00:00:00 /home/sokf/.jumbo/bin/python3 /home/sokf/rs/SO/ku-flow-replay/ku_flow_replay/ku_flow_replay_server.py