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.
Tabla de Contenidos
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.
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.
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.
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:
Claves | Funciones |
k | Finaliza un proceso |
M | Ordena la lista por uso de memoria. |
N | Ordena la lista por PID. |
r | Cambia la prioridad de un proceso. |
h | Muestra la ventana de ayuda. |
z | Muestra los procesos en ejecución en colores. |
d | Cambia el intervalo de tiempo de actualización. |
c | Muestra la ruta absoluta de un proceso. |
CTRL+C;o;q | Detiene 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
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:
Claves | Funciones |
F9 | Finaliza un proceso. |
F8 | Aumenta la prioridad de un proceso. |
F7 | Disminuye la prioridad de un proceso. |
F6 | Ordena procesos por cualquier columna. |
F5 | Muestra los procesos en una vista de árbol. |
F4 | Filtra los procesos por nombre. |
F3 | Busca un proceso. |
F2 | Abre htop setup. |
F1 | Muestra 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.
Esta es la lista de argumentos disponibles y sus descripciones:
Comando | Descripción |
man atop | Muestra la página del manual del comando atop. |
atop -l | Muestra los valores totales medios por segundo. |
atop -a | Muestra los procesos activos durante los últimos intervalos. |
atop -c | Muestra la línea de comandos por proceso. |
atop -m | Muestra la información relacionada con la memoria. |
atop -d | Muestra la información relacionada con el disco. |
atop -n | Muestra la información de la red. |
atop -s | Muestra los detalles de la programación. |
atop -v | Muestra información diversa (por ejemplo, PPID, usuario u hora). |
atop -y | Muestra 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:
Claves | Funciones |
a | Clasifica por orden los recursos más activos. |
c | Vuelve a la ordenación por consumo de CPU (por defecto). |
d | Clasifica por orden de actividad del disco. |
m | Clasifica por orden de uso de memoria. |
n | Clasifica 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.