前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux查看进程下的线程_linux查看线程状态

linux查看进程下的线程_linux查看线程状态

作者头像
全栈程序员站长
发布2022-09-20 10:49:33
28.9K0
发布2022-09-20 10:49:33
举报
文章被收录于专栏:全栈程序员必看

鉴于linux下线程的广泛使用 我们怎么查看某个进程拥有的线程id了

现在很多服务的设计 主进程->子进程->线程(比如mysql,varnish)

主进程负责侦听网络上的连接 并把连接发送给子进程 子进程派生线程去处理这些线程

mysql(父进程460,子进程863)

代码语言:javascript
复制
  1   460   425   333 ?           -1 S        0   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/storage/mysql/backup --pid-file=/storag
  460   863   425   333 ?           -1 Sl     500  21:34  \_ /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/storage/mysql/backup

1、ps

  -T Show threads, possibly with SPID column

代码语言:javascript
复制
[root@pdd1 ~]# ps -T -p 863 PID SPID TTY TIME CMD 863 863 ? 00:00:00 mysqld 863 865 ? 00:00:51 mysqld 863 866 ? 00:01:14 mysqld 863 867 ? 00:00:58 mysqld 863 868 ? 00:00:50 mysqld 863 869 ? 00:00:49 mysqld 863 870 ? 00:00:52 mysqld 863 871 ? 00:00:50 mysqld 863 872 ? 00:00:49 mysqld 863 873 ? 00:00:51 mysqld 863 874 ? 00:00:48 mysqld 863 876 ? 00:04:22 mysqld 863 877 ? 00:07:54 mysqld 863 878 ? 00:00:19 mysqld 863 879 ? 00:00:00 mysqld 863 882 ? 00:00:00 mysqld 863 887 ? 00:00:00 mysqld 863 2408 ? 00:00:00 mysqld 863 2428 ? 00:00:00 mysqld

我们可以看到子进程863派生出的线程 第一行spid 863是主线程(我们知道主线程就是该进程本身)

2、top

-H : Threads toggle Starts top with the last remembered ’H’ state reversed. When this toggle is On, all individual threads will be dis- played. Otherwise, top displays a summation of all threads in a process.

top -H -p 863

代码语言:javascript
复制
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 872 mysql 20 0 741m 56m 4972 S 0.3 5.7 0:49.11 mysqld 876 mysql 20 0 741m 56m 4972 S 0.3 5.7 4:22.76 mysqld 863 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:00.06 mysqld 865 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:51.65 mysqld 866 mysql 20 0 741m 56m 4972 S 0.0 5.7 1:14.77 mysqld 867 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:58.15 mysqld 868 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:50.26 mysqld 869 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:49.88 mysqld 870 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:52.48 mysqld 871 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:50.83 mysqld 873 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:51.90 mysqld 874 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:48.10 mysqld 877 mysql 20 0 741m 56m 4972 S 0.0 5.7 7:55.01 mysqld 878 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:19.84 mysqld 879 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:00.00 mysqld 882 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:00.00 mysqld 887 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:00.58 mysqld 2408 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:00.00 mysqld 2428 mysql 20 0 741m 56m 4972 S 0.0 5.7 0:00.06 mysqld

3、pstree

代码语言:javascript
复制
[root@pdd1 ~]# pstree -Aup -h 460 mysqld_safe(460)---mysqld(863,mysql)-+-{mysqld}(865) |-{mysqld}(866) |-{mysqld}(867) |-{mysqld}(868) |-{mysqld}(869) |-{mysqld}(870) |-{mysqld}(871) |-{mysqld}(872) |-{mysqld}(873) |-{mysqld}(874) |-{mysqld}(876) |-{mysqld}(877) |-{mysqld}(878) |-{mysqld}(879) |-{mysqld}(882) |-{mysqld}(887) |-{mysqld}(2408) `-{mysqld}(2428)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168093.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档