Linux 下查看线程信息

简介: 1. 使用 pstree -p PID ps aux | grep firefox | grep -v grepcharles  26058  0.0  0.0   4908  1152 ?        S    19:17   0:00 /bin/sh /usr/lib/firefox-3.

1. 使用 pstree -p PID

ps aux | grep firefox | grep -v grep
charles  26058  0.0  0.0   4908  1152 ?        S    19:17   0:00 /bin/sh /usr/lib/firefox-3.5.4/run-mozilla.sh /usr/lib/firefox-3.5.4/firefox

 

charles  26073  7.6  3.4 284264 70164 ?        Sl   19:17   4:36 /usr/lib/firefox-3.5.4/firefox

pstree -p 26058

 

run-mozilla.sh(26058)───firefox(26073)─┬─{firefox}(26074)
                                                                             ├─{firefox}(26075)
                                                                             ├─{firefox}(26076)
                                                                             ├─{firefox}(26085)
                                                                             ├─{firefox}(26086)
                                                                             ├─{firefox}(26087)
                                                                             ├─{firefox}(26092)
                                                                             └─{firefox}(26403)
  2.使用 /proc

cd /proc/26073/task

ls
26073  26074  26075  26076  26085  26086  26087  26092  26403

 

3. 使用 top 命令:

top -p 26073

 

然后press shift + h:

 

Tasks:   9 total,   0 running,   9 sleeping,   0 stopped,   0 zombie
Cpu(s): 10.3%us,  5.3%sy,  0.0%ni, 84.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2053032k total,   689696k used,  1363336k free,    37212k buffers
Swap:  2097140k total,   121804k used,  1975336k free,   314864k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                   
26073 charles   20   0  277m  67m  24m S  1.0  3.4   4:47.01 firefox                                                   
26074 charles   20   0  277m  67m  24m S  0.0  3.4   0:01.41 firefox                                                   
26075 charles   20   0  277m  67m  24m S  0.0  3.4   0:00.12 firefox                                                   
26076 charles   20   0  277m  67m  24m S  0.0  3.4   0:14.60 firefox                                                   
26085 charles   20   0  277m  67m  24m S  0.0  3.4   0:00.00 firefox                                                   
26086 charles   20   0  277m  67m  24m S  0.0  3.4   0:00.00 firefox                                                   
26087 charles   20   0  277m  67m  24m S  0.0  3.4   0:03.51 firefox                                                   
26092 charles   20   0  277m  67m  24m S  0.0  3.4   0:00.06 firefox                                                   
26403 charles   20   0  277m  67m  24m S  0.0  3.4   0:00.00 firefox

 

4. 使用 ps -eLf

 

5. 检查线程占用的内存

cat /proc/statm

 

6. 使用命令:

 

ps -Lo pid,ppid,pgid,nlwp,lwp,stat,command -p PID
[plain]  view plain  copy
 
 print?
  1. $ ps -Lo pid,ppid,pgid,nlwp,lwp,stat,command -p 2053  
  2.   PID  PPID  PGID NLWP   LWP STAT COMMAND  
  3.  2053     1  1830    2  2053 Sl   /usr/lib/zeitgeist/zeitgeist-fts  
  4.  2053     1  1830    2  2054 Sl   /usr/lib/zeitgeist/zeitgeist-fts  


7.自己编写一个脚本:

 

 

[plain]  view plain  copy
 
 print?
  1. $ cat /home/charles/listThread.sh  
  2. #!/bin/bash  
  3. cd /proc/$1/task;  
  4. list=$(ls);  
  5. #echo $list;  
  6. printf "%-15s %-5s %7s %7s\n" Name State Pid Tid  
  7. for task in $list; do  
  8. list=$(cat $task/status | awk 'NR <= 4 {printf "%s\n", $2}');  
  9. list2=$(echo $list | tr '\n' ' ');  
  10. echo $list2 | awk '{printf "%-15s %-5s %7s %7s\n", $1, $2, $3, $4}'  
  11. done  
[plain]  view plain  copy
 
 print?
    1. $ /home/charles/listThread.sh 2053  
    2. Name            State     Pid     Tid  
    3. zeitgeist-fts   S        2053    2053  
    4. gdbus           S        2053    2054  
目录
相关文章
|
存储 Linux API
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
并行计算 Linux
Linux内核中的线程和进程实现详解
了解进程和线程如何工作,可以帮助我们更好地编写程序,充分利用多核CPU,实现并行计算,提高系统的响应速度和计算效能。记住,适当平衡进程和线程的使用,既要拥有独立空间的'兄弟',也需要在'家庭'中分享和并行的成员。对于这个世界,现在,你应该有一个全新的认识。
403 67
|
11月前
|
Arthas 监控 Java
Arthas thread(查看当前JVM的线程堆栈信息)
Arthas thread(查看当前JVM的线程堆栈信息)
1901 10
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
1552 8
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
275 26
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
298 17
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
3240 23
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
32944 7
|
缓存 监控 Linux
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
1606 1
下一篇
开通oss服务