Introducción
Cada aplicación que usa o un comando que ejecuta en su sistema Linux crea un proceso o tarea. Como administrador del sistema, deberá administrar los procesos para garantizar un rendimiento óptimo del sistema.
En este tutorial, cubriremos diferentes comandos de Linux que puede usar para enumerar y administrar los procesos que se están ejecutando actualmente.
Requisitos previos
- Un sistema que ejecuta Linux
- Una cuenta con privilegios de root o sudo
- Acceso a la ventana de terminal/línea de comandos
Procesos en Linux
Procesos en Linux se inicia cada vez que inicia una aplicación o ejecuta un comando. Mientras que cada comando crea un proceso, las aplicaciones crean y ejecutan múltiples procesos para diferentes tareas.
De forma predeterminada, cada nuevo proceso comienza como un primer plano proceso. Esto significa que debe terminar antes de que pueda comenzar un nuevo proceso. Ejecutar procesos en fondo le permite realizar otras tareas al mismo tiempo.
Lista de procesos en ejecución en Linux
Para enumerar los procesos que se están ejecutando actualmente, use el ps
, top
, top
y atop
Comandos de Linux. También puede combinar los ps
comando con pgrep
Comando para identificar procesos individuales.
Lista de procesos en ejecución en Linux usando el comando ps
El ps
El comando de Linux crea una instantánea de los procesos que se están ejecutando actualmente. A diferencia de los otros comandos en esta lista, ps
presenta el resultado como una lista estática, no actualizada en tiempo real.
El ps
El comando utiliza la siguiente sintaxis:
ps [options]
ps de uso frecuente las opciones de comando incluyen:
a
:lista todos los procesos de ruina para todos los usuarios.-A, -e
:muestra todos los procesos en el sistema.-a
:enumere todos los procesos excepto los líderes de sesión (instancias en las que el ID del proceso es el mismo que el ID de la sesión) y los procesos no asociados con una terminal.-d
:Muestra todos los procesos excepto los líderes de sesión.--deselect, -N
:muestra todos los procesos excepto aquellos que cumplen una condición definida por el usuario.f
:Muestra la jerarquía del proceso como arte ASCII.-j
:Muestra la salida en el formato de trabajos.T
:enumera todos los procesos asociados con este terminal.r
:solo muestra los procesos en ejecución.u
:expanda la salida para incluir información adicional, por ejemplo, uso de CPU y memoria.-u
:defina un usuario cuyos procesos desee enumerar.x
:incluir procesos sin un TTY.
Ejecutando el ps
comando sin ninguna opción produce una salida similar a:
La salida predeterminada incluye las siguientes categorías:
- PID :Número de identificación del proceso.
- TTY :El tipo de terminal en el que se ejecuta el proceso.
- TIEMPO :Cantidad total de uso de CPU.
- CMD :El nombre del comando que inició el proceso.
Usando la combinación de a
, u
y x
opciones da como resultado una salida más detallada:
ps aux
Las nuevas categorías de la salida ampliada incluyen:
- USUARIO :El nombre del usuario que ejecuta el proceso.
- %CPU :el porcentaje de uso de la CPU.
- %MEM :El porcentaje de uso de la memoria.
- VSZ :memoria virtual total utilizada por el proceso, en kilobytes.
- RSS :tamaño del conjunto residente, la porción de RAM ocupada por el proceso.
- STAT :El estado actual del proceso.
- COMENZAR :La hora en que se inició el proceso.
Para mostrar los procesos en ejecución en una vista jerárquica, ingrese:
ps -axjf
Filtrar la lista de procesos por usuario con:
ps -U [real user ID or name] -u [effective user ID or name] u
Por ejemplo, mostrar una lista de procesos iniciados por el usuario llamado phoenixnap :
ps -U phoenixnap -u phoenixnap u
Lista de procesos en ejecución en Linux usando el comando superior
El top
El comando muestra la lista de procesos en ejecución en orden decreciente de uso de la CPU. Esto significa que los procesos que requieren más recursos aparecen en la parte superior de la lista:
La salida de top
actualizaciones de comandos en tiempo real, con la frecuencia de actualización predeterminada de tres segundos. El top
la salida del comando contiene las siguientes categorías:
- PID :Número de identificación del proceso.
- USUARIO :El nombre del usuario que ejecuta el proceso.
- PR :La prioridad de programación para el proceso.
- NI :El buen valor del proceso, con números negativos que indican mayor prioridad.
- VIRT :la cantidad de memoria virtual utilizada por el proceso.
- RES :la cantidad de memoria residente (física) utilizada por el proceso.
- SHR :la memoria compartida total utilizada por el proceso.
- S :El estado del proceso - R (en ejecución) o S (dormido).
- %CPU :El porcentaje de uso de la CPU.
- %MEM :El porcentaje de uso de la memoria.
- TIEMPO+ :Cantidad total de uso de CPU.
- MANDO :El nombre del comando que inició el proceso.
Mientras que la top
se está ejecutando el comando, use las siguientes opciones para interactuar con él o cambiar el formato de salida:
- c :muestra la ruta de proceso absoluta.
- d :cambie la frecuencia de actualización de salida a un valor definido por el usuario (en segundos).
- h :muestra la ventana de ayuda.
- k :Matar un proceso proporcionando el PID.
- M :ordena la lista por uso de memoria.
- N :ordena la lista por PID.
- r :cambie el valor agradable (prioridad) de un proceso proporcionando el PID.
- z :cambie el color de salida para resaltar los procesos en ejecución.
- q :Salga de la interfaz de comandos.
Lista de procesos en ejecución en Linux usando el comando htop
El htop
El comando ofrece el mismo resultado que top
comando pero de una manera más fácil de entender y fácil de usar.
Dado que la mayoría de las distribuciones de Linux no incluyen este comando, instálelo con:
sudo apt install htop
Uso de htop
El comando proporciona el siguiente resultado:
Utilice las siguientes teclas para interactuar con el htop
comando:
- Teclas direccionales :Desplace la lista de procesos vertical y horizontalmente.
F1 :abre la ventana de ayuda.F2 :Abra la configuración del comando htop.F3 :busque un proceso escribiendo el nombre.F4 :filtrar la lista de procesos por nombre.F5 :cambie entre mostrar la jerarquía de procesos como una lista ordenada o un árbol.F6 :Ordenar procesos por columnas.F7 :Disminuye el valor agradable (aumenta la prioridad) de un proceso.F8 :aumenta el valor agradable (disminuye la prioridad) de un proceso.F9 :Matar el proceso seleccionado.F10 :Salga de la interfaz de comandos.
Lista de procesos en ejecución en Linux usando el comando atop
El atop
El comando proporciona una descripción general más completa de los procesos en ejecución en comparación con el comando top
dominio. Comience instalando el top
comando con:
sudo apt install atop
El atop
El comando crea una salida similar a:
La sección de encabezado de la salida del comando proporciona una descripción general de los recursos del sistema, incluidas las estadísticas relacionadas con el proceso y el rendimiento, y el uso de la memoria, el disco y la red.
La sección inferior enumera los procesos que se están ejecutando actualmente y contiene las siguientes categorías:
- PID :Número de identificación del proceso.
- CPU DEL SISTEMA :El uso de la CPU por parte del proceso durante el manejo del sistema.
- USRCPU :El uso de la CPU por parte del proceso mientras se ejecuta en modo de usuario.
- VGROW :la cantidad de memoria virtual que ha ocupado el proceso desde la última actualización de salida.
- RGROW :la cantidad de memoria física que ha ocupado el proceso desde la última actualización de salida.
- RUID :El ID de usuario real del usuario que inició el proceso.
- ST :El estado actual del proceso.
- EXC :El código de salida después de que termine el proceso.
- THR :el número de subprocesos que utiliza el proceso.
- S :El estado actual del subproceso principal del proceso.
- CPUNR :la cantidad de CPU utilizadas por el proceso.
- CPU :el porcentaje de CPU utilizado por el proceso.
- CMD :El nombre del comando que inició el proceso.
Usando el top
El comando con las siguientes opciones cambia el formato de salida:
-a
:Mostrar solo los procesos activos.-c
:Mostrar línea de comando por proceso.-d
:Mostrar información del disco.-l
:muestra los valores totales como promedio por segundo.-m
:Mostrar información de la memoria.-n
:Mostrar información de la red.-s
:Mostrar información de programación de procesos.-v
:Muestra la salida detallada.-y
:Mostrar hilos individuales.
Usa las siguientes banderas para interactuar con el top
comando:
- un :ordenar por recursos más activos.
- c :ordenar por consumo de CPU.
- d :ordenar por actividad del disco.
- m :ordenar por uso de memoria.
- n :ordenar por actividad de red.
Encuentre ID de procesos usando el comando pgrep
Usando el pgrep
El comando le permite buscar un proceso específico. El pgrep
El comando utiliza la siguiente sintaxis:
pgrep [process name]
Por ejemplo, use el siguiente comando para buscar firefox proceso:
pgrep firefox
La salida del comando enumera el PID del proceso:
Usando este PID con el ps
comando le permite obtener más información sobre el proceso. En este ejemplo, el uso del PID 1439 proporciona información sobre el firefox proceso:
ps -e | grep 1439