+ function vert_print(v, _color, _fontcolor, _shape, _state, _size, _height, _label, _label_base, _label_ext) {
+ _state = child2state[v]
+ _style = "filled,solid"
+
+ # -----------------------------------------------------------------
+ # Sleeping/idling
+ # -----------------------------------------------------------------
+ # D uninterruptible sleep (usually IO)
+ if (_state == "D") {
+ _shape = "circle"
+ # I Idle kernel thread
+ } else if (_state == "I") {
+ _shape = "circle"
+ # S interruptible sleep (waiting for an event to complete)
+ } else if (_state == "S") {
+ _shape = "circle"
+ # -----------------------------------------------------------------
+ # Running
+ # -----------------------------------------------------------------
+ # R running or runnable (on run queue)
+ } else if (_state == "R") {
+ _shape = "rarrow"
+ # -----------------------------------------------------------------
+ # Stopped
+ # -----------------------------------------------------------------
+ # T stopped by job control signal
+ } else if (_state == "T") {
+ _shape = "square"
+ # t stopped by debugger during the tracing
+ } else if (_state == "t") {
+ _shape = "square"
+ # -----------------------------------------------------------------
+ # Dead
+ # -----------------------------------------------------------------
+ # Z defunct ("zombie") process, terminated but not reaped by its parent
+ } else if (_state == "Z") {
+ _shape = "Msquare"
+ _style = "solid"
+ # -----------------------------------------------------------------
+ # UNKNOWN STATE
+ # -----------------------------------------------------------------
+ } else {
+ _shape = "doublecircle"
+ }
+