Cómo usar el comando ps en Linux para monitorear procesos

17 set 2024 3 min di lettura
Cómo usar el comando ps en Linux para monitorear procesos
Indice dei contenuti

Introducción

El comando ps es una de las herramientas más útiles para monitorear procesos en ejecución en un sistema Linux. Con ps, puede obtener una descripción detallada de los procesos activos, incluida información como ID de proceso (PID), usuario propietario, uso de CPU y memoria, y mucho más. Este tutorial lo guiará en el uso de ps para monitorear y administrar procesos en su sistema Linux.

¿Qué es el comando ps ?

El comando ps es la abreviatura de "estado del proceso". Es un comando del sistema que proporciona una representación estática de los procesos actualmente en ejecución. A diferencia de otras herramientas como top o htop, ps no proporciona una interfaz interactiva, sino que devuelve una instantánea de los procesos en el momento en que se ejecuta.

instalación de ps

El comando ps está incluido de forma predeterminada en casi todas las distribuciones de Linux, por lo que no debería ser necesario instalarlo. Sin embargo, si por alguna razón no está disponible, puedes instalarlo usando el administrador de paquetes de tu distribución.

En Debian/Ubuntu:

sudo apt-get install procps

En CentOS/Fedora:

sudo yum install procps

Uso básico de ps

Para obtener una lista de todos los procesos activos en el sistema, puede usar el comando ps sin ninguna opción:

ps

Este comando devolverá una lista de procesos asociados con el usuario que ejecutó el comando. La lista será limitada y no proporcionará mucha información.

Ejemplo de salida:

 PID TTY TIME CMD
 1234 pts/0 00:00:00 bash
 5678 pts/0 00:00:00 ps

Opciones comunes ps

Para obtener información más detallada sobre los procesos, puede utilizar varios modificadores con el comando ps. A continuación se muestran algunas de las opciones más comunes.

ps auxiliar

La opción aux es una de las más utilizadas. Muestra todos los procesos del sistema, independientemente de la sesión a la que pertenecen, e incluye información detallada como el uso de CPU y memoria.

ps aux

Ejemplo de salida:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
 root 1 0.0 0.1 19352 1540 ? Ss 09:00 0:00 /sbin/init
 root 2 0.0 0.0 0 0 ? S 09:00 0:00 [kthreadd]
 root 3 0.0 0.0 0 0 ? I< 09:00 0:00 [rcu_gp]

ps-ef

La opción -ef es otra opción común que muestra todos los procesos en un formato extendido. Incluye información como el ID del proceso principal (PPID) y el tiempo de inicio del proceso.

ps -ef

Ejemplo de salida:

UID PID PPID C STIME TTY TIME CMD
 root 1 0 0 09:00 ? 00:00:00 /sbin/init
 root 2 0 0 09:00 ? 00:00:00 [kthreadd]
 root 3 2 0 09:00 ? 00:00:00 [rcu_gp]

Filtrar procesos con grep

Puede combinar ps con el comando grep para filtrar procesos por una cadena determinada. Por ejemplo, para encontrar todos los procesos asociados con un programa específico, como firefox, puedes usar:

ps aux | grep firefox

Ejemplo de salida:

user 1234 0.5 2.3 253428 47232 ? Sl 09:00 0:01 /usr/lib/firefox/firefox
 user 5678 0.0 0.0 14228 1024 pts/0 S+ 09:05 0:00 grep --color=auto firefox

Ordenar procesos por uso de CPU o memoria

También puede ordenar procesos por uso de CPU o memoria usando el comando ps combinado con sort. Por ejemplo, para ordenar procesos por uso de CPU en orden descendente:

ps aux --sort=-%cpu

Ejemplo de salida:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
 user 1234 5.2 2.3 253428 47232 ? Sl 09:00 0:05 /usr/lib/firefox/firefox
 user 5678 0.5 1.2 123456 24568 ? S 09:00 0:02 /usr/bin/some_program

Ver los procesos de un usuario específico

Si desea ver solo los procesos de un usuario específico, puede usar la opción -u seguida del nombre del usuario. Por ejemplo, para ver los procesos del usuario john:

ps -u john

Ejemplo de salida:

PID TTY TIME CMD
 1234 pts/0 00:00:00 bash
 5678 pts/0 00:00:00 firefox

finalizar un proceso

Si ha identificado un proceso que desea eliminar, puede hacerlo utilizando el comando kill. Para finalizar un proceso, necesita conocer su PID. Por ejemplo, para finalizar un proceso con PID 1234:

kill 1234

Si el proceso no finaliza con una simple kill, puedes forzar su finalización usando la señal -9:

kill -9 1234

Conclusión

El comando ps es una herramienta esencial para monitorear y administrar procesos en un sistema Linux. Con las opciones y técnicas descritas en este tutorial, debería poder obtener una descripción detallada de los procesos activos, filtrar procesos según criterios específicos y gestionar procesos de forma eficaz. Experimente con diferentes opciones y combinaciones para adaptar ps a sus necesidades específicas.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.