pstack 跟踪进程栈
1、
此命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。请参见 proc(1) 手册页。
这个命令在排查进程问题时非常有用,比如我们发现一个服务一直处于work状态(如假死状态,好似死循环),使用这个命令就能轻松定位问题所在;可以在一段时间内,多执行几次pstack,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方;
示例:查看bash程序进程栈:
1 /opt/app/tdev1$ps -fe| grep bash 2 tdev1 7013 7012 0 19:42 pts/1 00:00:00 -bash 3 tdev1 11402 11401 0 20:31 pts/2 00:00:00 -bash 4 tdev1 11474 11402 0 20:32 pts/2 00:00:00 grep bash 5 /opt/app/tdev1$pstack 7013 6 #0 0x00000039958c5620 in __read_nocancel () from /lib64/libc.so.6 7 #1 0x000000000047dafe in rl_getc () 8 #2 0x000000000047def6 in rl_read_key () 9 #3 0x000000000046d0f5 in readline_internal_char () 10 #4 0x000000000046d4e5 in readline () 11 #5 0x00000000004213cf in ?? () 12 #6 0x000000000041d685 in ?? () 13 #7 0x000000000041e89e in ?? () 14 #8 0x00000000004218dc in yyparse () 15 #9 0x000000000041b507 in parse_command () 16 #10 0x000000000041b5c6 in read_command () 17 #11 0x000000000041b74e in reader_loop () 18 #12 0x000000000041b2aa in main ()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)