GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo enumerar los procesos en ejecución en Linux

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

Linux
  1. Cómo matar un proceso zombie en Linux

  2. Cómo establecer límites en los procesos que ejecutan los usuarios en Linux

  3. ¿Cómo reiniciar (o restablecer) un proceso en ejecución en Linux?

  4. ¿Cómo eliminar un proceso que se ejecuta en un puerto específico en Linux?

  5. ¿API de Linux para enumerar los procesos en ejecución?

Cómo matar procesos Zombie en Linux

Cómo encontrar y matar procesos en ejecución en Linux

Cómo matar el proceso de ejecución de Linux en un puerto particular

Supervisión de procesos en Linux

Procesos corriendo

Cómo enviar procesos a segundo plano en Linux