Linux下的/proc目录查看具体的线程统计数据,在目录 /proc/PID/stat下面可以找到关于线程的绝大部分详细信息,可惜这个文件的客户体验太差,居然是一大堆以空格分割的纯数据,汗-_-…….无奈之下只好手动写了个简单的脚本,利用shell+awk弄出个小工具来简单检测线程状态,先上效果图:
awk是一个非常强大的文本处理工具,可以把它看作一门小的脚本语言。其实完成这个小工具可以还用其他的工具实现,但awk的以“行”为单位的处理方式在这个特殊的数据格式中很有帮助。/proc/pid/stat中的数据是以空格作为分隔符隔离开每个数据的,所以awk在这里大有用武之地。
Linux系统查看某个进程的线程数可以通过ps命令来进行查询。以firefox进程为例。1、查看firefox的进程pid,如下图所示,firefox的进程pid为3168。
2、查看firefox中的线程数和线程ID,如下图所示,
其中NLWP
列为线程数
LWP列为线程ID,可见firefox有线程数50。
1、top -H手册中说:-H : Threads toggle
加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。
2、ps xH
手册中说:H Show threads as if they were processes
这样可以查看所有存在的线程。
3、ps -mp <PID>
手册中说:m Show threads after processes
这样可以查看一个进程起的线程数。
更多详尽的解释还可以man ps,man top。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)