pstack命令学习
pstatck命令可现实每个进程的栈跟踪。pstack命令必须由相应进程的属主或root运行。可以使用pstack来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的PID.
命令软件包下载地址:https://packages.debian.org/sid/pstack
实例:
pstree以树结构显示进程
pstree -p work | grep ad
sshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)|-{ad_preprocess}(4553)|-{ad_preprocess}(4554)|-{ad_preprocess}(4556)`-{ad_preprocess}(4557)
work为工作用户,-p为显示进程识别码,ad_preprocess共启动了6个子线程,加上主线程共7个线程。
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个线程
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 ()
pstack命令学习相关推荐
- 《Linux命令学习手册》系列分享专栏
<Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/20 ...
- linux命令学习(转)
查询命令的地方:man.linuxde.net/ Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存 Linux提供了大量的命令,利用它可以有 ...
- mondb 常用命令学习记录
mondb 常用命令学习记录 一.MongoDB 下载安装 MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...
- 硬盘mdr转换成gdp linux,Linux 命令学习神器!命令看不懂直接给你解释!
原标题:Linux 命令学习神器!命令看不懂直接给你解释! 转自: 良许Linux 大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件 ...
- pstack 安装linux_pstack命令_Linux pstack 命令用法详解:显示每个进程的栈跟踪
pstack命令可显示每个进程的栈跟踪.pstack 命令必须由相应进程的属主或 root 运行.可以使用 pstack 来确定进程挂起的位置.此命令允许使用的唯一选项是要检查的进程的 PID. 命令 ...
- 【Linux】一步一步学Linux——pstack命令(261)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 pstack命令可显示每个进程的栈跟踪.pstack 命令 ...
- linux命令-- pstack命令(跟踪进程栈)
pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,它实际上是gstack的一个链接,而gstack本身是基于gdb封装的shell脚本..此命令可显示每个进程的栈跟踪.pstack ...
- Java命令学习系列
Java命令学习系列(七)--javap Java命令学习系列(六)--jinfo Java命令学习系列(五)--jhat Java命令学习系列(四)--jstat Java命令学习系列(三)--Jm ...
- linux之awk命令学习笔记
Linux之awk命令学习笔记 前言 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, ...
最新文章
- 【elementUI】el-tree搜索时加载子节点对应父节点、父节点对应子节点树
- 从创业到成功,SaaS巨头Salesforce靠的是这七大秘诀
- Visual Studio 2005 快捷键
- FFMPEG使用参数详解
- 应用环境下的TIME_WAIT和CLOSE_WAIT
- 科目三路考流程及注意事项
- 代码大全阅读笔记01
- jackson 进行json与java对象转换 之二
- 树莓派计算机视觉环境搭建
- 视频教程-webservice入门到精通(备java基础,xml,javaee框架)-Java
- 【积跬步以至千里】唧唧Down下载视频无法正常合并分段文件解决方案
- PCB电路板生产完成分析
- 网站建设教程:企业怎么自己建网站?
- USACO 1.1.3 - Friday the Thirteenth(模拟)
- 不懂不要炒股,一定要在调整时买入股票!
- 【实习日记】实习第N天 从零开始搭建一个tiktok puppet(一)
- latex如何绘制标准三线表 lllegal charactor in array arg 如何合并单元格?
- OpenHarmony如何拨打电话
- 百度病了,必应挂了,Yandex疯了。
- 每天喝6杯清水,就能轻松瘦身!
热门文章
- Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
- 容器学习 之 容器的概念(一)
- CSS常用选择器、伪元素选择器、伪类选择器大全——响应式Web系列学习笔记
- 1058 A+B in Hogwarts (20 分)_7行代码AC
- 样例解释:1013 数素数 (20分)
- c语言判断一个已知的二叉树是否是二叉排序树_10584 二叉树怎样序列化才能重建...
- python笔记之序列(list的基本使用和常用操作)
- oracle 查询时间跨度一年,关于时间跨度比较的OVERLAPS函数
- python list 查找find_List 泛型 集合中 Find 的用法
- docker export_docker构建python3.7镜像