鉴于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. getSelection、range 对象属性,方法理解,解释

    网上转了一圈发现没有selection方面的解释,自己捣鼓下 以这段文字为例子.. <p><b>法国国营铁路公司(SNCF)20日承认,</b>新订购的2000列火 ...

  2. eclipse/intellij Idea集成jetty

    jetty相对weblogic.jboss.tomcat而言,启动速度快,十分方便开发调试,以下是eclipse里的使用步骤: 一.eclipse->Marketplace里搜索 jetty 一 ...

  3. EMV内核使用中的常见问题

    EMV内核在使用上会由于调用不当引起的许多问题,本文旨在基于内核LOG(也就是与IC卡交互的指令LOG)的基础上,对一些常见问题作初步的分析与解答,方便不熟悉EMV规范的同学参考. 本文的前提是你已经 ...

  4. c#新语法学习笔记

    1.匿名类 匿名类编译之后会生成一个具体的泛型类,匿名类的属性是只读的.在临时数据传递时非常方便(linq查询).匿名类中不能有方法.数据传输(json),数据查询(linq) }; 2.匿名方法匿名 ...

  5. express-partials与express4.x不兼容问题

    在express中设置view engine为html,express-partials会导致语法不正确,其实只要做一行代码的改动就可以 function renderer(ext){ if(ext[ ...

  6. Xamarin Android -创建Splash Screen (一)

    ......(空话少说) Xamarin 开发的技术资料很少,通过学习,把自己的学习过程及其中碰到的问题与大家分享. Splash Screen 就是在应用程序启动时,出现的一张图片,一般App的Sp ...

  7. C#:异步编程和线程的使用(.NET 4.5 )

    摘自:http://www.codeproject.com/Articles/996857/Asynchronous-programming-and-Threading-in-Csharp-N(葡萄城 ...

  8. Windows10一周年庆典壁纸

    example: 下载:http://pan.baidu.com/s/1b55D5k

  9. 思维导图分享以及MindManager使用说明

    来源于: http://www.cnblogs.com/muhongxing/archive/2009/12/22/1628782.html http://www.cnblogs.com/muhong ...

  10. (02)javascript属性

    私有属性(私有变量和私有方法) 实例属性(实例变量和实例方法) 静态属性(静态变量和静态方法) <!DOCTYPE html> <html lang="en"&g ...