Cómo ver procesos en Linux: guía para principiantes

¿Necesitas ver todos los procesos que se están ejecutando en tu servidor Linux y descubrir cuáles consumen más recursos? No busques más. En este artículo, te explicaremos cómo ver procesos en ejecución, utilizando varios comandos de Linux comunes.

Introducción a los procesos Linux

Un proceso es la ejecución de un programa. Estos pueden lanzarse al abrir una aplicación o al emitir un comando, a través del terminal de línea de comandos. Sin embargo, una aplicación puede ejecutar varios procesos para diferentes tareas. Por ejemplo, Google Chrome inicia un proceso diferente cada vez que se abra una nueva pestaña.

Un proceso puede iniciarse como proceso en primer plano o en segundo plano. A cada proceso Linux se le asigna un único PID (número de identificación del proceso).

Ocasionalmente, los procesos pueden consumir muchos recursos y necesitan ser eliminados. También puede ocurrir que quieras cambiar el nivel de prioridad de un proceso, para que el sistema le asigne más recursos. Independientemente del caso, todas estas tareas requieren que hagas lo mismo: listar los procesos en ejecución en Linux.

Cómo ver procesos en ejecución en Linux

Para listar procesos en Linux, utiliza uno de los tres comandos: ps, top o htop. El comando ps proporciona una instantánea estática de todos los procesos, mientras que top y htop ordenan por uso de CPU.

Profundicemos en cada uno de ellos.

Uso del comando “ps”

El comando ps (estado de los procesos) produce una instantánea de todos los procesos en ejecución. Por lo tanto, a diferencia del administrador de tareas de Windows, los resultados son estáticos.

Comando ps para ver procesos en Linux

Cuando se utiliza este comando sin ningún argumento u opción adicional, devolverá una lista de procesos en ejecución junto con cuatro columnas cruciales: el PID del proceso, el nombre del terminal (TTY), el tiempo de ejecución (TIME) y el nombre del comando que lanza el proceso (CMD). Puedes utilizar ps aux para obtener información más detallada sobre los procesos en ejecución.

Aquí un desglose de cada argumento:

  • La opción a muestra todos los procesos en ejecución de todos los usuarios del sistema.
  • La opción u proporciona información adicional como el porcentaje de uso de memoria y CPU, el código de estado del proceso y el propietario de los procesos.
  • La opción x lista todos los procesos que no se ejecutan desde el terminal. Un ejemplo perfecto de esto son los daemons, que son procesos relacionados con el sistema que se ejecutan en segundo plano cuando se inicia el sistema.
Procesos en ejecución en el comando ps en Linux
Procesos en ejecución en el comando ps en Linux

Si deseas ver los procesos en Linux en una vista jerárquica, utiliza el comando ps -axjf. En este formato, el shell colocará los procesos hijos bajo sus procesos padres. Aparte de estas dos opciones, aquí hay otros ejemplos comunes del comando ps que listan procesos en ejecución en Linux:

  • ps -u [nombre de usuario]: lista todos los procesos en ejecución de un determinado usuario.
  • ps -e o ps -A: muestra los procesos Linux activos en el formato genérico UNIX.
  • ps -T: imprime los procesos activos que se ejecutan desde el terminal.
  • Ps -C nombre_proceso: filtra la lista por el nombre del proceso. Además, este comando también muestra todos los procesos hijos del proceso especificado.

Uso del comando “top”

El comando top se utiliza para descubrir procesos que consumen muchos recursos. Este comando de Linux ordenará la lista por uso de CPU, de modo que el proceso que consuma más recursos se colocará en la parte superior. También es útil para comprobar si un proceso específico se está ejecutando.

Comando top para ver procesos en Linux

A diferencia del comando ps, la salida del comando top se actualiza periódicamente. Esto significa que verás actualizaciones en tiempo real del uso de la CPU y del tiempo de ejecución. Una vez que el shell devuelve la lista, puedes pulsar las siguientes teclas para interactuar con ella:

ClavesFunciones
kFinaliza un proceso
MOrdena la lista por uso de memoria.
NOrdena la lista por PID.
rCambia la prioridad de un proceso.
hMuestra la ventana de ayuda.
zMuestra los procesos en ejecución en colores.
dCambia el intervalo de tiempo de actualización.
cMuestra la ruta absoluta de un proceso.
CTRL+C;o;qDetiene el comando superior.

Ten en cuenta que las teclas anteriores distinguen entre mayúsculas y minúsculas, así que asegúrate de no activar el bloqueo de mayúsculas.

Uso del comando “htop”

Tanto el comando htop, como top, muestran la misma información cuando se listan los procesos de Linux, pero el primero ofrece características fáciles de usar que son ideales para la gestión diaria de procesos.

Lo primero es lo primero, el comando htop te permite desplazarte vertical y horizontalmente. Como tal, puedes ver la lista completa de tus procesos Linux junto con sus líneas de comando completas.

Además, el comando permite utilizar el ratón para seleccionar elementos, acabar procesos sin insertar sus PID, cambiar la prioridad de varios procesos fácilmente, etc.

Lamentablemente, la mayoría de las distribuciones de Linux no disponen de este comando, por lo que es necesario instalarlo manualmente.

Si utilizas Ubuntu, puedes instalar htop ejecutando el siguiente comando:

sudo apt-get install htop
Instalación del comando htop en Ubuntu de Linux

Una vez instalado, escribe htop y obtendrás una lista de todos tus procesos Linux. Al igual que el comando anterior, htop también tiene varios atajos de teclado:

ClavesFunciones
F9Finaliza un proceso.
F8Aumenta la prioridad de un proceso.
F7Disminuye la prioridad de un proceso.
F6Ordena procesos por cualquier columna.
F5Muestra los procesos en una vista de árbol.
F4Filtra los procesos por nombre.
F3Busca un proceso.
F2Abre htop setup.
F1Muestra el menú de ayuda.

Uso del comando “atop”

El comando atop es una herramienta para monitorizar los recursos del sistema en Linux. Es una utilidad de rendimiento ASCII a pantalla completa que registra e informa de la actividad de todos los procesos del servidor.

Una vez iniciado, atop mostrará el uso de recursos de la CPU, memoria, swap, discos y red en intervalos de 10 segundos. El comando atop permanecerá activo en segundo plano para realizar análisis del servidor a largo plazo (hasta 28 días por defecto).

Algunas de las ventajas son:

  • Acumula el uso de recursos para todos los procesos y usuarios con el mismo nombre.
  • Destaca los recursos críticos en colores (rojo).
  • Muestra el uso de recursos de todos los procesos, incluidos los que se han completado o cerrado.
  • Supervisa los hilos dentro de los procesos (excepto los no utilizados).
  • Utiliza netatop kernel mobile para monitorizar TCP, UDP y el ancho de banda de la red.

Puedes instalar el comando atop ejecutando cualquiera de los siguientes comandos:

Ubuntu/Debian

sudo apt install atop

CentOS/RHEL/Fedora

sudo dnf install atop

Una vez instalado, ejecuta el comando atop para mostrar todo el uso a nivel de proceso de los recursos del sistema.

Comando atop de Linux

Esta es la lista de argumentos disponibles y sus descripciones:

ComandoDescripción
man atopMuestra la página del manual del comando atop.
atop -lMuestra los valores totales medios por segundo.
atop -aMuestra los procesos activos durante los últimos intervalos.
atop -cMuestra la línea de comandos por proceso.
atop -mMuestra la información relacionada con la memoria.
atop -dMuestra la información relacionada con el disco.
atop -nMuestra la información de la red.
atop -sMuestra los detalles de la programación.
atop -vMuestra información diversa (por ejemplo, PPID, usuario u hora).
atop -yMuestra los hilos individuales.

Una vez que se esté ejecutando atop, pulsa las teclas de acceso directo que se indican a continuación para ordenar los procesos:

ClavesFunciones
aClasifica por orden los recursos más activos.
cVuelve a la ordenación por consumo de CPU (por defecto).
dClasifica por orden de actividad del disco.
mClasifica por orden de uso de memoria.
nClasifica por orden de actividad en la red.

Conclusión

Es importante saber cómo ver todos los procesos en ejecución en tu sistema operativo Linux. El conocimiento te será útil cuando necesites gestionar los procesos.

¿Cuál de los tres comandos prefieres? Comparte tu opinión en la sección de comentarios.

Author
El autor

Diego Vargas

Diego es comunicador social, especialista en publicidad digital que trabaja constantemente en mejorar sus conocimientos de marketing digital, enfocándose en contenido y SEO. Idiomas, series, libros y cursos en internet son sus hobbies principales, además de los deportes. Este es su perfil de LinkedIn.