pstack 命令必须由相应进程的属主或 root 运行,可显示每个进程的栈跟踪,可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。
示例
写了一个程序,sleep挂起,查看进程PID,用pstack查看,结果如下
[root@SPA ~]# ps aux | grep test
root 2901 0.0 0.0 3784 448 pts/0 S+ 18:56 0:00 ./test
root 2903 0.0 0.0 7188 760 pts/1 R+ 18:56 0:00 grep test
[root@SPA ~]#
[root@SPA ~]#
[root@SPA ~]# pstack 2901
#1 0x000000325829a214 in sleep () from /lib64/libc.so.6
#2 0x00000000004009c9 in main ()