Buscar aquí

19 enero 2012

Cómo ver los procesos en forma de árbol, en Solaris y HPUX?

El comando ptree, tanto en Solaris y HP-UX sirve para obtener una lista jerarquizada de los procesos que están ejecutandose en el momento, por ejemplo, en HPUX donde estoy usando screen luce algo así:

PID         COMMAND
29501      screen -h 10000 -S amardone
 29503      /usr/bin/sh
  27588      telnet prd1082
 20897      /usr/bin/sh
 19846      /usr/bin/sh

La identación no es mucha, pero clarifica cual es padre y los hijos no? así se observa que dentro de screen hay tres consolas (/usr/bin/sh) y en una de ellas un telnet.

En particular HP UX, también se puede conseguir un resultado similar con el parámetro H, entonces el comando sería algo como:

ps -feH


Si al ejecutar arroja un error como éste:

ps: illegal option -- H
usage: ps [-edaxzflP] [-u ulist] [-g glist] [-p plist] [-t tlist] [-R prmgroup] [-Z psetidlist]


es porque no está la variable de ambiente UNIX95 que afecta a algunos comando como ps, de hecho si revisan la ayuda de ps, verán que en la opción -H dice (UNIX Standard Only.) esto significa que se debe asignar un valor a la variable UNIX95, que se hace con un tradicional export o setenv dependiendo del shell.

export UNIX95=1

con esto se obtiene el resultado esperado, aunque la salida tal como dije antes, es menos gráfica, algo como esto:

root      1806        1  0  May  1  ?        00:01:26   /usr/sbin/stm/uut/bin/sys/diagmond
root      2194  1806  0  May  1  ?        00:03:31     diaglogd
root      2195  1806  0  May  1  ?        00:17:04     psmctd

Si observan bien, hay un par de espacios de identación a la derecha para señalar los procesos hijos y para los que no sepan, la tercera columna es el ppid, el parent pid o pid padre.








1 comentario:

  1. Anónimo11/14/2014

    Muchas gracias, muy útil esta información. Me sirvió de mucho.

    ResponderEliminar