原文:https://blog.csdn.net/xiaoliuliu2050/article/details/81912202

https://blog.csdn.net/u011734144/article/details/77567398------pstree命令的用法(查看进程树

Linux查看某个进程的线程

方法一:PS

在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。

ps -T -p <pid>

“SID”栏表示线程ID,而“CMD”栏则显示了线程名称。

方法二: Top

top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。

top -H

要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:

top -H -p <pid>

方法3 :

ps -Lf

$ ps -Lf 4551
UID        PID  PPID   LWP  C NLWP STIME TTY      STAT   TIME CMD
work      4551 22670  4551  2    7 16:30 pts/2    Sl+    0:02 ./ad_preprocess
work      4551 22670  4552  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4553  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4554  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4555  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4556  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4557  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess

进程共启动了7个线程

linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process

Linux查看进程树

1. pstree

pstree以树结构显示进程
$ pstree -p work | grep ad
sshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)
                                                |-{ad_preprocess}(4553)
                                                |-{ad_preprocess}(4554)
                                                |-{ad_preprocess}(4555)
                                                |-{ad_preprocess}(4556)
                                                `-{ad_preprocess}(4557)

work为工作用户,-p为显示进程识别码,ad_preprocess共启动了6个子线程,加上主线程共7个线程

查看线程信息:

jstack pid

最新文章

  1. hihocoder [Offer收割]编程练习赛4
  2. Activiti工作流学习(二)流程实例、执行对象、任务
  3. Atitit 三论”(系统论、控制论、信息论
  4. ios开发跳转
  5. zedGraph
  6. 华为測试 字符串运用-password截取
  7. css 超出隐藏显示...
  8. CentOS的改变系统启动级别
  9. [TJOI2015]旅游
  10. 29. pt-table-usage
  11. 数据库连接池(基于MySQL数据库)
  12. AUTEL MaxiSYS Pro MS908P Diagnostic System with WiFi Update Online
  13. 【亲测】解决虚拟机CentOS7联网ping不通相关问题(通俗易懂)
  14. 数论+矩阵快速幂|斐波那契|2014年蓝桥杯A组9-fishers
  15. 从原理上理解如何由震源机制一个节面的解:strike,dip,rake可以求出另一个节面的解
  16. Patch打补丁学习笔记
  17. shell心得
  18. PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法
  19. Level Of Detail
  20. 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台

热门文章

  1. Curl 基本命令
  2. toastr简单用法及修改垂直居中
  3. spring整合mybatis在使用.properties文件时候遇到的问题
  4. 100-days: eighteen
  5. HDU 5723 Abandoned country(kruskal+dp树上任意两点距离和)
  6. 微软Office Online服务安装部署(三)
  7. ArcGIS for JS 离线部署
  8. Spring 添加属性集中常见方法
  9. XML文件的DTD编写
  10. 安装php7.2并且整合nginx且分开部署