Estos dos comandos muestran una lista de los procesos presentes en el sistema de acuerdo con los criterios que Ud. desea.
Al enviar este comando sin un argumento se mostrarán solo los procesos iniciados por Ud. en la terminal que está utilizando:
$ ps PID TTY TIME CMD 5162 ttya1 00:00:00 zsh 7452 ttya1 00:00:00 ps |
Hay una gran cantidad de opciones, solo citaremos las más comunes:
a: también muestra los procesos iniciados por los otros usuarios;
x: también muestra los procesos sin terminal de control alguna (esto se aplica a casi todos los servidores);
u: muestra, para cada proceso, el nombre del usuario que lo inició y la hora a la cual fue iniciado.
Hay muchas otras opciones. Refiérase a la página de manual para más información (man 1 ps).
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 Ud. puede identificar uno o más procesos que estén causando problemas y, subsecuentemente, puede "matarlos".
El comando pstree muestra los procesos en forma de estructura de árbol. Una ventaja es que Ud. 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. Ud. 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.