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.