procstack Command

Purpose

Prints the hexadecimal addresses and symbolic names for all the threads in the process.

Syntax

procstack [ -F ] [ -g ] ProcessID ...

Description

The /proc filesystem provides a mechanism to control processes. It also gives access to information about the current state of processes and threads, but in binary form. The proctools commands provide ASCII reports based on some of the available information.

Most of the commands take a list of process IDs or /proc/ProcessID strings as input. The shell expansion /proc/* can therefore be used to specify all processes in the system.

Each of the proctools commands gathers information from /proc for the specified processes and displays it to the user. The proctools commands like procrun and procstop start and stop a process using the /proc interface.

The information gathered by the commands from /proc is a snapshot of the current state of processes, and therefore can vary at any instant except for stopped processes.

The procstack command prints the hexadecimal addresses and symbolic names for all the threads in the process.

Flags

Item Description
-F Forces the procstack command to take control of the target process even if another process has control.
-g Prevents the conversion of symbol names to human-readable names.
ProcessID Specifies the process ID.

Examples

  1. To display the current stack of process 11928, enter:
    procstack 11928
    The output of this command might look like this:
    11928 : -sh                                    
    d01d15c4  waitpid   (?, ?, ?) + e0             
    10007a1c  job_wait   (?) + 144                 
    10020298  xec_switch   (?, ?, ?, ?, ?) + 9c0   
    10021db4  sh_exec   (?, ?, ?) + 304            
    10001370  exfile   () + 628                    
    10000300  main   (?, ?) + a1c                  
    10000100  __start   () + 8c
  2. To display the current stack of all the threads of the multi-threaded process 28243 for application appl, enter:
    procstack 28243
    
    The output of this command would look like this:
    28243 : appl
    ---------- tid# 54321 -----------        
    d0059eb4  _p_nsleep   (?, ?) + 10
    d01f1fc8  nsleep   (?, ?) + b4
    d026a6c0  sleep   (?) + 34
    100003a8  main   () + 98
    10000128  __start   () + 8c
    ---------- tid# 43523 ----------
    d0059eb4  _p_nsleep   (?, ?) + 10
    d01f1fc8  nsleep   (?, ?) + b4
    d026a6c0  sleep   (?) + 34
    10000480  PrintHello   (d) + 30
    d004b314  _pthread_body   (?) + ec
    ---------- tid# 36352 ----------
    d0059eb4  _p_nsleep   (?, ?) + 10
    d01f1fc8  nsleep   (?, ?) + b4
    d026a6c0  sleep   (?) + 34
    10000480  PrintHello   (c) + 30
    d004b314  _pthread_body   (?) + ec
    

Files

Item Description
/proc Contains the /proc filesystem.