Información sobre los procesos: ps y pstree

Estos dos comandos muestran una lista de los procesos presentes en el sistema, de acuerdo con los criterios que Usted configura.

ps

Al enviar este comando sin un argumento se mostrarán solo los procesos iniciados por Usted en la terminal que está utilizando:

     $ ps
       PID TTY          TIME CMD
     18614 pts/3    00:00:00 bash
     20173 pts/3    00:00:00 ps
    

Al igual que muchos utilitarios UNIX, ps tiene una gran cantidad de opciones, de las cuales las más comunes son:

  • a: también muestra los procesos iniciados por los otros usuarios;

  • x: también muestra los procesos sin terminal de control alguna o con una terminal de control diferente a la que Usted está utilizando;

  • u: muestra, para cada proceso, el nombre del usuario que lo inició y la hora a la cual fue iniciado.

Hay muchas otras opciones. Consulte la página Man ps(1) para más información.

La salida de este comando está dividida en campos diferentes: el que más le interesará es el campo PID, que contiene el identificador del proceso. El campo CMD contiene el nombre del comando ejecutado. Una forma muy común de invocar a ps es la siguiente:

$ ps ax | less

Esto le da una lista de todos los procesos que se están ejecutando corrientemente, entonces puede identificar uno o más procesos que estén causando problemas y, subsecuentemente, puede “matarlos”.

pstree

El comando pstree muestra los procesos en forma de estructura de árbol. Una ventaja es que Usted puede ver inmediatamente quien es el proceso padre de otro: cuando quiere eliminar toda una serie de procesos, y si son todos padres e hijos, es suficiente matar al ancestro común. Puede usar la opción -p, que muestra el PID de cada proceso, y la opción -u que muestra el nombre del usuario que inició el proceso. Como generalmente la estructura de árbol es grande, es más fácil invocar a pstree de la siguiente manera:

$ pstree -up | less

Esto le da una visión general de toda la estructura de árbol de los procesos.