`
m635674608
  • 浏览: 4929347 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Linux下多线程查看工具(pstree、ps、pstack)

 
阅读更多

1. pstree

pstree以树结构显示进程
$ pstree -p work | grep ad
sshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)
                                                |-{ad_preprocess}(4553)
                                                |-{ad_preprocess}(4554)
                                                |-{ad_preprocess}(4555)
                                                |-{ad_preprocess}(4556)
                                                `-{ad_preprocess}(4557)

 

work为工作用户,-p为显示进程识别码,ad_preprocess共启动了6个子线程,加上主线程共7个线程

2. ps -Lf

$ ps -Lf 4551
UID        PID  PPID   LWP  C NLWP STIME TTY      STAT   TIME CMD
work      4551 22670  4551  2    7 16:30 pts/2    Sl+    0:02 ./ad_preprocess
work      4551 22670  4552  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4553  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4554  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4555  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4556  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess
work      4551 22670  4557  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess

进程共启动了7个线程

3. pstack

pstack显示每个进程的栈跟踪

$ pstack 4551
Thread 7 (Thread 1084229984 (LWP 4552)):
#0  0x000000302afc63dc in epoll_wait () from /lib64/tls/libc.so.6
#1  0x00000000006f0730 in ub::EPollEx::poll ()
#2  0x00000000006f172a in ub::NetReactor::callback ()
#3  0x00000000006fbbbb in ub::UBTask::CALLBACK ()
#4  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#5  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 6 (Thread 1094719840 (LWP 4553)):
#0  0x000000302afc63dc in epoll_wait () from /lib64/tls/libc.so.6
#1  0x00000000006f0730 in ub::EPollEx::poll ()
#2  0x00000000006f172a in ub::NetReactor::callback ()
#3  0x00000000006fbbbb in ub::UBTask::CALLBACK ()
#4  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#5  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 5 (Thread 1105209696 (LWP 4554)):
#0  0x000000302b80baa5 in __nanosleep_nocancel ()
#1  0x000000000079e758 in comcm::ms_sleep ()
#2  0x00000000006c8581 in ub::UbClientManager::healthyCheck ()
#3  0x00000000006c8471 in ub::UbClientManager::start_healthy_check ()
#4  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#5  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 4 (Thread 1115699552 (LWP 4555)):
#0  0x000000302b80baa5 in __nanosleep_nocancel ()
#1  0x0000000000482b0e in armor::armor_check_thread ()
#2  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#3  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#4  0x0000000000000000 in ?? ()
Thread 3 (Thread 1126189408 (LWP 4556)):
#0  0x000000302af8f1a5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6
#1  0x000000302af8f010 in sleep () from /lib64/tls/libc.so.6
#2  0x000000000044c972 in Business_config_manager::run ()
#3  0x0000000000457b83 in Thread::run_thread ()
#4  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#5  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 2 (Thread 1136679264 (LWP 4557)):
#0  0x000000302af8f1a5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6
#1  0x000000302af8f010 in sleep () from /lib64/tls/libc.so.6
#2  0x00000000004524bb in Process_thread::sleep_period ()
#3  0x0000000000452641 in Process_thread::run ()
#4  0x0000000000457b83 in Thread::run_thread ()
#5  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#6  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#7  0x0000000000000000 in ?? ()
Thread 1 (Thread 182894129792 (LWP 4551)):
#0  0x000000302af8f1a5 in __nanosleep_nocancel () from /lib64/tls/libc.so.6
#1  0x000000302af8f010 in sleep () from /lib64/tls/libc.so.6
#2  0x0000000000420d79 in Ad_preprocess::run ()
#3  0x0000000000450ad0 in main ()

分享到:
评论

相关推荐

    linux-pstree

    是对linux下pstree功能的模拟实现。

    Linux ps和pstree命令知识点总结

    在本篇文章里小编给大家分享的是关于Linux ps和pstree命令知识点总结内容,需要的朋友们可以学习参考下。

    Linux命令搜索工具linux-command.zip

    adduser、chfn、chsh、date、exit、finger、free、fwhois、gitps、groupdel、groupmod、halt、id、kill、last、lastb、login、logname、logout、logrotate、newgrp、nice、procinfo、ps、pstree、reboot、renice、...

    Linux性能监控工具

    Linux性能监控工具 top:显示所有进程情况, vmstat:显示系统活动,硬件和系统信息, uptime,w:显示系统的平均负载, ps,pstree:显示进程, free(如果不带任何参数输入,默认是以KB为单位输出):内存使用情况, ...

    Linux pstree命令用法详解

    Linux pstree命令 Linux pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。 使用权限:所有...

    Linux网络操作系统基础:多任务管理.ppt

    进程管理 主要功能 查看进程 ps ps –au ps -aux ps –aux | more ps –aux | grep httpd ps –aux > /tmp/ps.log pstree ps 哪些进程运行状态、是否结束、占用资源等 命令格式:ps [-Option] -e:显示所有进程 -f:...

    PYTHON学习教程-08-多线程.zip

    前情回顾 1.epoll模型 : 效率高 , 触发方式更多 2.本地套接字 AF_UNIX 本地两个进程...5. ps -aux ps -ajx pstree top nice 6. os.fork() 7. os.getpid() os.getppid() os._exit() sys.exit() 8. 孤儿进程和僵尸进程

    Linux运维-2系统管理-15系统管理-167top命令和pstree命令.avi

    Linux运维-2系统管理-15系统管理-167top命令和pstree命令.avi

    linux操作系统培训资料.pptx

    Linux常用操作命令 命令 功能 grep 在指定文件查找指定字符串 mv 移动文件或目录 chmod 改变文件权限指令 man 命令或函数帮助查询指令 top 查看cpu和内存使用情况的指令 ps 查看当前运行的进程的指令 pstree 查看...

    python多线程DAY01.txt

    5. ps -aux ps -ajx pstree top nice 6. os.fork() 7. os.getpid() os.getppid() os._exit() sys.exit() 8. 孤儿进程和僵尸进程 **************************************************** 如何避免僵尸进程产生 * ...

    UNIX/LINUX及其使用环境

    2、熟悉UNIX/LINUX的常用基本命令如ls、who、w、pwd、ps、pstree、top等。 3、通过WINDOWS操作系统中的FTP程序,练习WINDOWS和UNIX之间的文件交换。 4、用vi编写一个简单的、显示"Hello,World!"的C程序,用gcc编译并...

    实验4 Linux进程管理

    (1) 熟悉 linux 常用命令: pwd, useradd, passwd, who, ps, pstree, kill, top, ls, cd, mkdir,rmdir, cp, rm, mv, cat, more, grep 等。 (2) 实现一个模拟的 shell (3) 实现一个管道通信程序 (4) 利用 ...

    Linux 进程管理

    进程管理: pstree ps top nice 修改进程优先级 kill 前台后台进程切换 free 查看内存 screen

    [面试/笔试系列13]linux面试题(简答题部分).

    2简述进程的启动、终止的方式以及如何查看进程? 答:启动进程的方式分为手动启动和自动启动两种方式,其中手动启动的方法用services服务名start; 或者是./脚本名称,自动启动进程的方法有将进程...法用ps、pstree和top.

    pstree:Go 中的 pstree

    一个普通的 pstree 克隆很难维护。 如果你想看好看的版本,去这里: 从那时起,我对其进行了一些更改以帮助加快速度。 它变得不那么惯用了,读起来更累了。 在此过程中,我收集了一些有趣的基准测试数字——您可以...

    LINUX常用命令详解

    1. cd 2. pwd 3. ls 4. passwd 5. who 6. cat 7. mkdir 8. rmdir 9. chmod 10. chown 11. chgrp ...27. ps pstree 28. top 29. expr 30. locate 31. split 33. man,info 34. alias 35. unalias 36. clear

    pstree命令 以树状图显示进程

    Linux系统中pstree命令的英文全称是“process tree”,即将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的...

    操作系统课程实验.rar

    (1)熟悉 linux 常用命令:pwd,useradd,passwd, who, ps, pstree, kill, top, ls, cd, mkdir, rmdir, cp, rm, mv, cat, more, grep 等。 (2) 实现一个模拟的 shell: 编写三个不同的程序 cmd1.c,cmd2.c,cmd3.c,...

    Linux学习&复盘(八):进程&服务

    Linux进程管理     过滤查看进程信息 ps -aux | grep hhsd  ps -aux | grep cupster   分页查看进程列表 ps aux | more -10 每页10条查看进程信息     查看父进程     终止进程   pstree ...

Global site tag (gtag.js) - Google Analytics