此命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。请参见 proc(1) 手册页。
以下是检查正在运行的 nfsd 进程的示例。
# /usr/bin/pgrep nfsd 243 # /usr/bin/pstack 243 243: /usr/lib/nfs/nfsd -a 16 ef675c04 poll (24d50, 2, ffffffff) 000115dc ???????? (24000, 132c4, 276d8, 1329c, 276d8, 0) 00011390 main (3, efffff14, 0, 0, ffffffff, 400) + 3c8 00010fb0 _start (0, 0, 0, 0, 0, 0) + 5c |
此示例显示进程正在等待新的连接请求,这是正常响应。如果栈表明在发出请求之后进程仍在轮询,则此进程可能会被挂起。请遵照如何重新启动 NFS 服务中的说明来解决此问题。请检查NFS 疑难解答过程中的说明来充分验证问题是否是程序已挂起。