鉴于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. JS明确指定函数的接受者

    由于方法和值为对象的属性值没什么区别,因此很容易提取对象的方法作为回调函数直接传递给高阶函数.但这也很容易忘记应明确指定方法的接受者.例如,一个字符串缓冲对象使用数组来存储字符串. var buffe ...

  2. easyui 中Datagrid 控件在列较多且无数据时,列显示不全的解决方案

    在onLoadSuccess 中加入如下代码就OK啦 $('#dg3').datagrid({ onLoadSuccess:function(data){ if(data.total==0){ var ...

  3. MVC+EF 理解和实现仓储模式和工作单元模式

    MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...

  4. android之广播(二)

    广播接受者不仅可以通过清单文件来向系统注册,也可以通过代码来注册.并且有的广播必须通过代码来注册广播接受者. 锁屏和解锁广播 电量改变广播 打开屏幕和关闭屏幕 这里将广播接收者写在服务里面 <? ...

  5. 站内搜索——Lucene +盘古分词

    为了方便的学习站内搜索,下面我来演示一个MVC项目. 1.首先在项目中[添加引入]三个程序集和[Dict]文件夹,并新建一个[分词内容存放目录] Lucene.Net.dll.PanGu.dll.Pa ...

  6. STL中的next_permutation

    给定一个数组a[N],求下一个数组. 2 1 3 4 2 1 4 3 2 3 1 4 2 3 4 1 ..... 在STL中就有这个函数: 1.参数是(数组的第一个元素,数组的末尾),注意这是前闭后开 ...

  7. 52-which 显示系统命令所在目录

    显示系统命令所在目录 which command-list 参数 command-list 是which搜索的一条或多条命令(实用程序) 示例 which 单条命令 $ which ls /bin/l ...

  8. HttpWebRequest提交(Post)数据

    protected void Page_Load(object sender, EventArgs e) { string sql = "select top 1 * from [user] ...

  9. Spring MVC 相关资料整理

    来源于:http://www.cnblogs.com/ylhssn/p/4062757.html 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即 ...

  10. 使用D3绘制图表(6)--竖直柱状图表

    竖直柱状图的绘制是在水平柱状图的基础上修改的. 1.html代码 <!DOCTYPE html> <html> <head> <meta charset=&q ...