千家信息网

linux系统中pstack命令怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"linux系统中pstack命令怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"linux系统中pstack命令怎么用"这篇
千家信息网最后更新 2026年11月02日linux系统中pstack命令怎么用

这篇文章主要为大家展示了"linux系统中pstack命令怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"linux系统中pstack命令怎么用"这篇文章吧。

pstack用来跟踪进程栈,这个命令在排查进程问题时非常有用,比如我们发现一个服务一直处于work状态(如假死状态,好似死循环),使用这个命令就能轻松定位问题所在。

实例

pstree以树结构显示进程

pstree -p work | grep adsshd(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个线程。

ps -Lf 4551UID        PID  PPID   LWP  C NLWP STIME TTY      stat   time CMDwork      4551 22670  4551  2    7 16:30 pts/2    Sl+    0:02 ./ad_preprocesswork      4551 22670  4552  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocesswork      4551 22670  4553  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocesswork      4551 22670  4554  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocesswork      4551 22670  4555  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocesswork      4551 22670  4556  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocesswork      4551 22670  4557  0    7 16:30 pts/2    Sl+    0:00 ./ad_preprocess

进程共启动了7个线程

pstack显示每个进程的栈跟踪:

pstack 4551Thread 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系统中pstack命令怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

进程 命令 线程 系统 内容 篇文章 状态 问题 学习 帮助 跟踪 个子 实例 所在 易懂 更多 有用 条理 用户 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 科技和互联网公司 互联网公司 科技公司 高科技与互联网 致骋互联网科技 碳银互联网科技有限公司 居家互联网科技有限公司 无锡溥仪互联网科技有限公司 互联网还是高科技吗 互联网媒体平台算高科技产业 呼和浩特新华互联网科技学院 互联网科技大奖都有哪些公司 西安小鹰速贷互联网科技有限公司 阿里互联网科技企业 互联网时代的科技公司 易租星互联网科技有限公司 广州三三互联网科技有限公司 重庆科技产业互联网有哪些 东风日产互联网科技公司叫什么 广州全民伙伴互联网科技有限公司 互联网是第几次科技革命的成果 宁夏众和广鑫互联网科技有限公司 智腾互联网科技有限公司 科技类公司包括互联网吗 畅思互联网科技 工业互联网展湾科技股份有限公司 沐思想互联网科技有限公司 电子商务与互联网科技的关系 广州富喜互联网络科技 陕西彩京云互联网科技有限公司
0