En Linux/Unix tenemos una herramienta o programa, como tantos otros, que es como una navaja suiza y nos ayudará a saber que procesos están en ejecución en ese momento, además de otra información adicional : uso de memoria, de CPU y el PID o identificador que tiene un proceso en concreto.
El comando ps (de process status) ayuda al administrador de sistemas a saber o monitorizar que está en ejecución y puede que a solucionar posibles problemas.
Veamos unos pequeños ejemplos que pueden ser de utilidad en la administración de sistemas:
Comando sin opciones
# ps
Con esto se muestra los procesos actuales para la shell que tengamos abierta
en las columnas se muestras varios datos de los procesos de esta shell :
PID : identificador del proceso que nos puede ayudar para terminarlo o parar si es necesario
TTY : terminal donde el usuario está logeado
TIME : tiempo de CPU que usa el proceso
CMD : comando asociado
1 Listar todos los procesos del sistema
# ps -e
2 ver todos los procesos que corren en el sistema
# ps -x
3 Ver todos los procesos del sistema en formato BSD
Una de las opciones más utilizadas cuando estamos revisando un sistema
# ps -aux
4 Listar los procesos de un usuario en concreto
# ps -U ‘user’
5 listar los procesos que está ejecutando un grupo
# ps -G Debian-gdm
En los casos anteriores si necesitamos un listado con formato completo es añadir la opción f
# ps -fG Debian-gdm
6 saber tiempo que lleva en ejecución un proceso y cuando se incio
# ps -eo comm,lstart,etime,user | grep svnserve
Información que solicitamos con la línea anterior
comm – nombre del comando
lstart – fecha cuando se inicio el comando
etime – tiempo que lleva ejecutando el proceso
user – nombre usuario
7 listado de los 10 procesos que consumen más CPU
# ps -e –sort=-pcpu -o pid,pcpu,comm | head -n 11
8 listado de los 10 procesos que consumen más memoria
# ps -e –sort=-pmem -o pid,pmem,comm | head -n 11
9 como finalizar ‘matar’ / kill un proceso que está consumiendo mucha memoria o CPU en el servidor
# ps aux | grep firefox o # ps -ef | grep firefox
con la línea anterior obtenemos el PID de la app firefox que está corriendo en este momento en sistema y si por lo que sea necesitamos terminarlo por que está consumiendo mucha CPU o está bloqueando el sistema usamos el los comandos indicados a continuación
# kill -9 1334 1376 (utilizando el pid del proceso / aplicación)
# killall -9 firefox-esr (usando el nombre del proceso)