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

linux查看进程下的线程_linux查看线程状态鉴于linux下线程的广泛使用我们怎么查看某个进程拥有的线程id了现在很多服务的设计主进程->子进程->线程(比如mysql,varnish)主进程负责侦听网络上的连接并把连接发

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

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

 

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

  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

[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

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

[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.net/168093.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ExecuteNonQuery()的用法

    ExecuteNonQuery()的用法ExecuteNonQuery()的用法下面我们将详细讲解如何在Page_Load()中对数据库的增加、删除、修改,最后我们再来总结一下ExecuteNonQuery(),ExecuteScalar(

    2022年7月1日
    23
  • Zabbix常用监控项整理

    Zabbix常用监控项整理https://blog.51cto.com/ttxsgoto/1771752最近整理了一份常用Zabbix监控项说明,主要包括常见Windows&Linux监控,如下:Windons系统:项目 items items说明内存 vm.memory.size[free] 系统可用内存量vm.memory.size[total] 系统总共内存量swap空间 system.swa…

    2022年6月12日
    52
  • C语言strstr函数实现

    C语言strstr函数实现自己实现C语言中的strstr函数,用的是朴素的模式匹配算法,还有可以优化的地方,下次想好了再写。/*strstr实现*/char*mystrstr(constchar*dest,constchar*src){ char*tdest=dest; char*tsrc=src; while(*tdest) { char*flag=tdest

    2022年6月25日
    31
  • BigDecimal.setScale用法总结(固定精度)

    BigDecimal.setScale用法总结(固定精度)BigDecimal.setScale(intnewScale,introundingMode)newScale:保留newScale位小数roundingMode:舍去规则(0<=roundingMode<=7)一、BigDecimal.ROUND_DOWNBigDecimalnum=newBigDecimal(“3.16159”);//…

    2022年10月20日
    3
  • java finalize方法详解

    1.finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性不建议用finalize方法完成“非内存资源”的清理工作…

    2022年4月5日
    893
  • java邮箱匹配_Java邮箱正则表达式

    java邮箱匹配_Java邮箱正则表达式s w 0 1 w a zA Z0 9 a zA Z0 9 a zA Z s 这个是一个企业级的程序里 copy 出来的 合法 E mail 地址 1 必须包含一个并且只有一个符号 2 第一个字符不得是 或者 3 不允许出现 或者 4 结尾不得是字符 或者 5 允许 前的字符中出

    2025年11月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号