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

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

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

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

            ?           - S           : /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/storage/mysql/backup --pid-file=/storag
? - Sl : \_ /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
PID SPID TTY TIME CMD
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: mysqld
? :: 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
mysql 741m 56m S 0.3 5.7 :49.11 mysqld
mysql 741m 56m S 0.3 5.7 :22.76 mysqld
mysql 741m 56m S 0.0 5.7 :00.06 mysqld
mysql 741m 56m S 0.0 5.7 :51.65 mysqld
mysql 741m 56m S 0.0 5.7 :14.77 mysqld
mysql 741m 56m S 0.0 5.7 :58.15 mysqld
mysql 741m 56m S 0.0 5.7 :50.26 mysqld
mysql 741m 56m S 0.0 5.7 :49.88 mysqld
mysql 741m 56m S 0.0 5.7 :52.48 mysqld
mysql 741m 56m S 0.0 5.7 :50.83 mysqld
mysql 741m 56m S 0.0 5.7 :51.90 mysqld
mysql 741m 56m S 0.0 5.7 :48.10 mysqld
mysql 741m 56m S 0.0 5.7 :55.01 mysqld
mysql 741m 56m S 0.0 5.7 :19.84 mysqld
mysql 741m 56m S 0.0 5.7 :00.00 mysqld
mysql 741m 56m S 0.0 5.7 :00.00 mysqld
mysql 741m 56m S 0.0 5.7 :00.58 mysqld
mysql 741m 56m S 0.0 5.7 :00.00 mysqld
mysql 741m 56m S 0.0 5.7 :00.06 mysqld

3、pstree

[root@pdd1 ~]# pstree -Aup -h
mysqld_safe()---mysqld(,mysql)-+-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
|-{mysqld}()
`-{mysqld}()

linux查看某个进程的线程id(spid)的更多相关文章

  1. Linux查看某个进程的线程

    线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念.当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间.打开的文件),以使叉分开销最小化 ...

  2. Linux查看某进程的线程

    首先得知道你要查的进程的PID: 比如我要查看看我unimrcpserver的线程 第二种方法:top top命令可以实时显示各线程情况.就相当于windows的资源管理器.

  3. Linux有问必答:Linux上如何查看某个进程的线程

    原创:LCTT https://linux.cn/article-5633-1.html 译者: GOLinux本文地址:https://linux.cn/article-5633-1.html201 ...

  4. 在Linux上显示正在运行的进程的线程ID

    在Linux上显示正在运行的进程的线程ID 在上Linux," ps -T"可以显示正在运行的进程的线程信息: # ps -T 2739 PID SPID TTY STAT TIM ...

  5. Linux 平台如何查看某个进程的线程数?

    Linux 平台如何查看某个进程的线程数?   三种方法:1. 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程. 2. 使用ps命令,具体用法是 ...

  6. linux 线程查看 和 Jvm栈线程ID对应

    一.proc查看进程和线程 该方法是个人最为推荐,也最喜欢的一种方法.进程文件下,有几种方式可以获取目前进程开启的进程数. 查看status文件: # cat /proc//status Name: ...

  7. Linux下的进程与线程(二)—— 信号

    Linux进程之间的通信: 本文主要讨论信号问题. 在Linux下的进程与线程(一)中提到,调度器可以用中断的方式调度进程. 然而,进程是怎么知道自己需要被调度了呢?是内核通过向进程发送信号,进程才得 ...

  8. linux查看某个进程CPU消耗较高的具体线程或程序的方法

      目前我们的监控,可以发现消耗较高CPU的进程(阀值为3个CPU),通过监控我们可以找到消耗较高CPU的进程号: 通过进程号pid,我们在linux上可以通过top –H –p <pid> ...

  9. Linux 下查看某进程的线程数

    1.查看文件 /proc/${pid}/status2.pstree -p ${pid}3.输入 top -bH -d 3 -p ${pid}top -H手册中说:-H : Threads toggl ...

随机推荐

  1. druid 数据源 使用属性文件的一个坑

    直接上代码: <bean id="propertiesFactoryBean" class="org.springframework.beans.factory.c ...

  2. js从0开始构思表情插件

    前言: 由于公司开发项目需要用到表情插件,在网上百度了好久,很多表情插件,都是需要引用好多js文件,也没有现成的demo可以使用,还有一些插件是引用好多图片,每一个表情都要重新请求一下.为了这样一个功 ...

  3. Webwork 学习之路【07】文件上传下载

    Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大并发访问的交易网站.WebWork 当然也提供了很友好的拦截器来实现对文件的上传,让我们可以专注与业务逻辑的设计和实现,在实现上传和下载时顺 ...

  4. PHP 基础笔记

    数据类型 字符串 整数 浮点数 布尔值 数组 对象 NULL 未定义的变量,数据类型为 NULL. PHP 中数组和对象是不同的类型,而 js 中数组即为对象.(ps: es6 已经内置了 class ...

  5. C# 7.0 新特性2: 本地方法

    本文参考Roslyn项目中的Issue:#259. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: 模式匹配 ...

  6. .NET基于Redis缓存实现单点登录SSO的解决方案

    一.基本概念 最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单点登录,现在就NET基于Redis缓存实现单点登录做一个简单的分享. 单点登录(Single Sign On),简称 ...

  7. 使用markdown编辑evernote(印象笔记)的常用方法汇总

    原文发表在我的博客主页,转载请注明出处 前言 正所谓工欲善其事,必先利其器,本文将要介绍的evernote和markdown都是程序员必备的工具 虽然国内现在有了很多evernote的替代品,做的比较 ...

  8. DevExpress中设置PanelControl背景的方法

    首先当然是设置BackColor的颜色,但是设置完之后往往是没有反映的,这就Dev的好处带来的不好,然后我们需要自己定义两个属性 1.设置LookAndFeel下的style为Flat或UtralFl ...

  9. 使用axes函数在matlab绘图中实现图中图的绘制

    使用axes函数在matlab绘图中实现图中图的绘制 有时为了对细节进行详细说明,需要在一个较大坐标轴上绘制一个小图来对局部进行放大以阐述结果. 这可以通过调用axes函数实现. 下面通过绘制 y=1 ...

  10. B树和B+树

    当数据量大时,我们如果用二叉树来存储的会导致树的高度太高,从而造成磁盘IO过于频繁,进而导致查询效率下降.因此采用B树来解决大数据存储的问题,很多数据库中都是采用B树或者B+树来进行存储的.其目的就是 ...