Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to use the pstack command in Linux

2025-04-04 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/01 Report--

Editor to share with you how to use the pstack command in Linux, I believe most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!

The Linux common command pstack command displays the stack trace for each process.

Pstack displays stack traces for each process

Add that the pstack command must be run by the owner or root of the corresponding process. You can use pstack to determine where the process is suspended. The only option allowed by this command is the PID of the process to be checked.

Command package download address: https://packages.debian.org/sid/pstack

The instance pstree displays the process in a tree structure

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 is a working user | -p to display the process identification code, ad_preprocess started a total of 6 child threads, plus the main thread a total of 7 threads.

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 07 16:30 pts/2 Sl+ 0: 00. / ad_preprocess work 4551 22670 4555 07 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. / the ad_preprocess process started a total of seven threads

Pstack displays the stack trace for each process:

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 () above are all the contents of the article "how to use pstack commands in Linux" Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report