GNU/Linux >> Tutoriales Linux >  >> Linux

Comandos para la Gestión de Procesos en Linux

En este artículo, discutiremos la gestión de procesos en Linux. Un proceso en Linux no es más que un programa en ejecución. Es una instancia en ejecución de un programa. Cualquier comando que ejecute inicia un proceso.

Tipos de Procesos en Linux

En Linux los procesos pueden ser de dos tipos:

  • Procesos en primer plano
    depender del usuario para la entrada
    también llamados procesos interactivos.
  • Procesos en segundo plano
    ejecutar independientemente del usuario
    denominados procesos automáticos o no interactivos

Estados de proceso en Linux

Un proceso en Linux puede pasar por diferentes estados después de que se crea y antes de que finalice. Estos estados son:

  • Correr
  • Dormir
    • Sueño interrumpible
    • Sueño ininterrumpido
  • Detenido
  • Zombie
  • Un proceso en ejecución state significa que se está ejecutando o que está listo para ejecutarse.
  • El proceso está en un dormido estado cuando está esperando que un recurso esté disponible.
  • Un proceso en Sueño interrumpible se despertará para manejar las señales, mientras que un proceso en Sueño ininterrumpido no lo hará.
  • Un proceso entra en un detenido Estado cuando recibe una señal de parada.
  • Zombie el estado es cuando un proceso está muerto pero la entrada para el proceso todavía está presente en la tabla.

Diferentes Comandos para la Gestión de Procesos en Linux

Hay dos comandos disponibles en Linux para realizar un seguimiento de los procesos en ejecución. Estos dos comandos son Superior y Pd .

1. El mejor comando para administrar procesos de Linux

Para rastrear los procesos en ejecución en su máquina, puede usar el comando superior.

$ top 

El comando superior muestra una lista de procesos que se ejecutan en tiempo real junto con su uso de memoria y CPU. Entendamos un poco mejor el resultado:

  • PID :ID de proceso único otorgado a cada proceso.
  • Usuario :Nombre de usuario del propietario del proceso.
  • PR :Prioridad otorgada a un proceso durante la programación.
  • NI: valor "agradable" de un proceso.
  • VIRT :cantidad de memoria virtual utilizada por un proceso.
  • RES :cantidad de memoria física utilizada por un proceso.
  • SHR :cantidad de memoria compartida con otros procesos.
  • S :estado del proceso
    • 'D' =sueño ininterrumpido
    • 'R' =corriendo 
    • 'S' =dormir 
    • 'T' =rastreado o detenido 
    • 'Z' =zombi
  • %CPU :Porcentaje de CPU utilizado por el proceso.
  • %MEM; Porcentaje de RAM utilizada por el proceso.
  • TIEMPO+: Tiempo total de CPU consumido por el proceso.
  • Comando :Comando utilizado para activar el proceso.

Puede utilizar las teclas arriba/abajo teclas de flecha para navegar hacia arriba y hacia abajo a través de la lista. Para salir presiona q . Para eliminar un proceso, resáltelo con las teclas de flecha arriba/abajo y presione 'k'.

Alternativamente, también puede usar el comando matar, que veremos más adelante.

2. comando ps

El comando ps es la abreviatura de 'Estado del proceso'. Muestra los procesos que se están ejecutando actualmente. Sin embargo, a diferencia del comando superior, la salida generada no es en tiempo real.

$ ps

La terminología es la siguiente:

PID identificación del proceso
TTY tipo de terminal
TIEMPO tiempo total de ejecución del proceso
CMD nombre del comando que inicia el proceso

Para obtener más información usando el comando ps, use:

$ ps -u

Aquí:

  • %CPU representa la cantidad de poder de cómputo que está tomando el proceso.
  • %MEM representa la cantidad de memoria que ocupa el proceso.
  • STAT representa el estado del proceso.

Si bien el comando ps solo muestra los procesos que se están ejecutando actualmente, también puede usarlo para enumerar todos los procesos.

$ ps -A 

Este comando enumera incluso aquellos procesos que actualmente no se están ejecutando.

3. Detener un proceso

Para detener un proceso en Linux, use la opción 'kill' dominio. El comando kill envía una señal al proceso.

Hay diferentes tipos de señales que puedes enviar. Sin embargo, el más común es 'kill -9' que es 'SIGKILL ‘.

Puede listar todas las señales usando:

$ kill -L

La señal predeterminada es 15, que es SIGTERM . Lo que significa que si solo usa el comando matar sin ningún número, envía la señal SIGTERM.

La sintaxis para matar un proceso es:

$ kill [pid]

Alternativamente, también puede usar:

$ kill -9 [pid]

Este comando enviará una señal 'SIGKILL' al proceso. Esto debe usarse en caso de que el proceso ignore una solicitud de eliminación normal.

4. Cambiar la prioridad de un proceso

En Linux, puede priorizar entre procesos. El valor de prioridad para un proceso se denomina valor de 'Agradabilidad'. El valor de amabilidad puede oscilar entre -20 a 19 . 0 es el valor predeterminado.

La cuarta columna en la salida del comando superior es la columna del valor de amabilidad.

Para iniciar un proceso y darle un buen valor que no sea el predeterminado, use:

$ nice -n [value] [process name]

Para cambiar el valor agradable de un proceso que ya se está ejecutando, use:

renice [value] -p 'PID'

Conclusión

Este tutorial cubrió la gestión de procesos en Linux. Se cubrieron principalmente los aspectos prácticos de la gestión de procesos. En teoría, la gestión de procesos es un tema amplio y cubrirlo en su totalidad está fuera del alcance de este tutorial.


Linux
  1. 20 comandos esenciales de Linux para cada usuario

  2. 3 hojas de trucos esenciales de Linux para la productividad

  3. 8 comandos de Linux para una gestión de procesos eficaz

  4. 30 ejercicios de procesos de Linux para administradores de sistemas

  5. Biblioteca de Python para la gestión de procesos de Linux

¿Cómo matar un proceso en Linux? Comandos para Terminar

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

Comando Ps en Linux (Lista de Procesos)

Cómo matar procesos Zombie en Linux

Supervisión de procesos en Linux

Comandos de gestión de grupos en Linux