(转)如何在Linux中统计一个进程的线程数
如何在Linux中统计一个进程的线程数
原文:http://os.51cto.com/art/201509/491728.htm
我正在运行一个程序,它在运行时会派生出多个线程。我想知道程序在运行时会有多少线程。在Linux中检查进程的线程数最简单的方法是什么?如果你想看到Linux中每个进程的线程数,有以下两种方法实现。
问题:我正在运行一个程序,它在运行时会派生出多个线程。我想知道程序在运行时会有多少线程。在 Linux 中检查进程的线程数最简单的方法是什么?
如果你想看到 Linux 中每个进程的线程数,有以下两种方法可以做到这一点。
方法一: /proc
proc 伪文件系统,它驻留在 /proc 目录,这是最简单的方法来查看任何活动进程的线程数。 /proc 目录以可读文本文件形式输出,提供现有进程和系统硬件相关的信息如 CPU、中断、内存、磁盘等等。
$ cat /proc/<pid>/status
上面的命令将显示进程 <pid> 的详细信息,包括过程状态(例如, sleeping, running),父进程 PID,UID,GID,使用的文件描述符的数量,以及上下文切换的数量。输出也包括进程创建的总线程数如下所示。
Threads: <N>
例如,检查 PID 20571进程的线程数:
$ cat /proc/20571/status
输出表明该进程有28个线程。
或者,你可以在 /proc//task 中简单的统计子目录的数量,如下所示。
$ ls /proc/<pid>/task | wc
这是因为,对于一个进程中创建的每个线程,在 /proc/<pid>/task
中会创建一个相应的目录,命名为其线程 ID。由此在 /proc/<pid>/task
中目录的总数表示在进程中线程的数目。
方法二: ps
如果你是功能强大的 ps 命令的忠实用户,这个命令也可以告诉你一个进程(用“H”选项)的线程数。下面的命令将输出进程的线程数。“h”选项需要放在前面。
$ ps hH p <pid> | wc -l
【编辑推荐】
最新文章
- 源码阅读 etherum-transactions.py
- jquery对url中的中文解码
- 调用java rest ful 接口实例
- Swift语言—有趣的字符串连接、数组、字典
- 如何保证access_token长期有效
- HDU3415
- 黄聪:C#解析HTML DOM解析类 HtmlParser.Net 下载
- SparkSql官方文档中文翻译(java版本)
- iOS 基础 第三天(0808)
- iOS开发中常用的宏
- 【错误总结之(一)】error LNK2038: 检測到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
- Java正则表达式基本应用
- Canvas scale- 缩放
- 自动生成数学题型二(框架struts2)题型如((a+b)*c=d)
- loadrunner飞机订票系统从登陆订票退票登出的脚本实现代码调试通过
- 转://创建oracle索引时需要注意的7个事项
- vi快速查找
- Linux内核第四节 20135332武西垚
- Android Retrofit2.1.0设置编码格式GBK
- Distributed traceability with Spring Cloud: Sleuth and Zipkin