Linux tiene una herramienta incorporada para capturar los procesos actuales en el sistema, es una herramienta presente en todas las distribuciones, y estoy hablando de PS, que hoy veremos algunos ejemplos prácticos para el día a día, si tenes alguno interesantes sos bienvenido a comentarlo.
1- PS
Al lanzar el comando solo, nos mostrará la siguiente información ordenadas en 4 columnas:
- PID es una ID de proceso del comando en ejecución (CMD)
- TTY es un lugar donde se ejecuta el comando en ejecución
- TIME informa sobre cuánto tiempo usa la CPU mientras ejecuta el comando
- CMD es un comando que se ejecuta como un proceso actual
2- Filtrar procesos por su usuario
ps -u USUARIO
3- Filtrar procesos por uso de CPU o memoria
Otra cosa que es posible es filtrar el resultado por uso de CPU o memoria. Con esto, se puede obtener información sobre los procesos que consumen los recursos, para hacer esto vamos a usar el parámetro -aux
ps -aux | less
4- Que consume más procesador.
ps -aux --sort -pcpu | less
5- Que consume más memoria ram.
ps -aux --sort -pmem | less
6- Podemos combinar las opciones 4 y 5, además de mostrar el TOP 10
ps -aux --sort -pcpu,+pmem | head -n 10
7- Filtra los procesos por su nombre o ID de proceso
Para hacer esto usando el parámetro -C
seguido del nombre o ID. Digamos que queremos mostrar procesos de systemd. Podemos escribir:
ps -C systemd
8- Muestra todos los hilos de una identificación de proceso específica
Esto mostrará todos los hilos de un proceso particular pid. Opción -L muestra hilos con columnas LWP y NLWP.
ps -Lf -p systemd
9- Muestra hijo de un proceso padre
Esto mostrará todos los procesos secundarios de un proceso y es útil para descubrir qué procesos se han bifurcado de este proceso principal.
ps -o pid, pcpu, pmem, uname, comm -C systemd
10- Mostrar procesos en la jerarquía
A veces queremos ver los procesos en forma jerárquica. Para hacer esto, podemos usar el parámetro -axjf
ps -axjf