Gestión de procesos de Linux: la guía definitiva

En los sistemas operativos basados ​​en Linux y Unix, una instancia en ejecución de un comando se conoce como "proceso". Puede identificar cada proceso por su identificador único. Linux proporciona herramientas de línea de comandos para enumerar, administrar y monitorear estos procesos de manera eficiente.

Puede usar estas herramientas para priorizar cada proceso, ponerlos en segundo plano o en primer plano para administrar los recursos del sistema de manera eficiente. Verificar Pros y contras de usar el subsistema de Windows para Linux.

Gestión de procesos de Linux: la guía definitiva - Linux

Esta guía para administrar procesos en Linux incluye herramientas como ps, kill, renice y otros comandos que ayudarán al administrador del sistema a administrar y enumerar procesos.

Listar la lista de procesos con el comando ps.

La herramienta de línea de comandos más antigua y más utilizada para enumerar los procesos que se ejecutan actualmente en Linux es ps. Aunque este comando es otra forma interactiva, orientada a la pantalla, de administrar y enumerar los procesos del sistema, ps también muestra información adicional, como los recursos que consume cada proceso.

Dado que existe un entorno multiusuario, cada proceso en Linux está asociado con una cuenta de usuario y una cuenta de grupo separadas. Por lo tanto, la información de la cuenta junto con los detalles del proceso lo ayudan a acceder a los recursos del sistema que puede usar el proceso.

Por ejemplo, los procesos enraizados pueden acceder a más recursos del sistema que un usuario normal, y aquí es donde el comando ps ayuda a los administradores del sistema.

El siguiente resultado es un ejemplo de lista de procesos con nombres de usuario, tiempo transcurrido, memoria asociada y consumo de CPU:

Gestión de procesos de Linux: la guía definitiva - Linux

También puede observar la columna STAT que muestra el estado del proceso en ejecución. La letra R representa el proceso que se está ejecutando actualmente, S representa el proceso que está en suspensión y el signo más indica los procesos en primer plano.

Puede enumerar todos los procesos del usuario actual de la siguiente manera:

ps ux | less

Para listar los procesos para todos los usuarios:

ps aux | less

Gestión de procesos mediante System Monitor

System Monitor proporciona una forma gráfica de ver y administrar procesos. Para iniciar System Monitor, vaya a Aplicaciones -> Monitor del sistema. Cambie a la pestaña Procesos para ver todos los procesos en ejecución.

Gestión de procesos de Linux: la guía definitiva - Linux

De forma predeterminada, los procesos se muestran en orden alfabético para el usuario actual. Puede reorganizar la lista de procesos haciendo clic en cualquier encabezado de columna. Además, puede hacer clic en las direcciones de la CPU y la memoria para ver qué procesos consumen más potencia de procesamiento y memoria.

Gestión de procesos de Linux: la guía definitiva - Linux

System Monitor le permite administrar procesos de diferentes maneras, lo que significa que puede detener, matar, continuar, finalizar y cambiar la prioridad de un proceso simplemente haciendo clic con el botón derecho en el nombre del proceso.

Es la mejor opción para usuarios principiantes de Linux que no saben cómo trabajar con herramientas de línea de comandos. Verificar 3 de las mejores herramientas de monitoreo del sistema para Ubuntu.

Trabajar con procesos de fondo/primer plano

Llega un momento en el que debe acceder a su sistema Linux a través de la red usando solo la línea de comando. Esto limita la gestión eficaz de múltiples aplicaciones activas. Pero la herramienta de shell le permite administrar aplicaciones cambiándolas a segundo plano y primer plano.

Cómo iniciar el proceso en segundo plano

Para iniciar una aplicación mientras todavía está en el shell, ejecute el comando, deténgalo y póngalo en segundo plano con Ctrl + Z. Para ejecutar una aplicación directamente en segundo plano, agregue un "&" al final del comando, de la siguiente manera:

find /usr > /tmp/allusrfiles &

Anote el número de trabajo y el ID del proceso. Tenga en cuenta que no puede ejecutar comandos que requieran entrada de terminal en segundo plano.

Puedes usar el comando . recibas nuevas vacantes en tu correo Para ver todas las aplicaciones/procesos que se ejecutan en segundo plano o aquellos que ha detenido (usando Ctrl + Z).

jobs

Gestión de procesos de Linux: la guía definitiva - Linux

Cómo reanudar las operaciones en primer plano y en segundo plano

Para continuar una acción que pones en segundo plano, usa el comando fg , y pondrá el proceso en primer plano.

fg %<job-number>

De manera similar, si detiene la ejecución de un proceso en segundo plano, puede reiniciarlo nuevamente en segundo plano con el comando bg , Como sigue:

bg %<job_number>

Matar procesos en Linux

Así como una herramienta gráfica como System Monitor le permite matar, detener y continuar el proceso, también puede usar herramientas de línea de comandos como matar و Mátalos a todos Para enviar una señal a un proceso en ejecución.

Aparte de simplemente matar el proceso, el comando .ayuda matar También envía varias señales para gestionar los comportamientos de los procesos. Verificar Las mejores formas de cerrar y matar aplicaciones que no responden en Linux.

Puede usar nombres o números para usar un signo.

kill -signalnumber <process-id>
kill -signalname <process-id>

Por ejemplo, los siguientes comandos envían una señal sigilo Para procesar usando PID 1987:

kill -9 1987
kill -SIGKILL 1987

Las señales de proceso más utilizadas son:

  • SIGKILL (9): Matar el proceso inmediatamente.
  • SIGTERM (15): Terminar el proceso.
  • SIGSTOP (19/28/25): Deteniendo el proceso.
  • SIGCONT (19/28/25): El proceso continúa después de detenerse.
  • SIGUP (1): Le dice al proceso que lea su archivo de configuración.

Tenga en cuenta que los diferentes procesos responden de manera diferente a estas señales pero no pueden detener las señales. SEGUIMIENTO و sigilo. Escriba el siguiente comando para leer más sobre estas señales:

man 7 signal

Actualizar procesos en Linux

El kernel de Linux prioriza los procesos en ejecución y asigna recursos del sistema considerando los privilegios de la cuenta de usuario. Otro factor es el núcleo, que es el valor "agradable" de cada proceso en ejecución.

El valor agradable predeterminado para un proceso es cero, pero puede establecer el rango entre -20 y 19. Algunos datos sobre cómo establecer la prioridad de un proceso con valores nuevos agradables son:

  • Un proceso con un valor bueno bajo tiene más acceso a los recursos de la CPU.
  • Solo el usuario promedio puede volver a priorizar sus operaciones.
  • El usuario normal solo puede establecer valores entre -20 y 19, y solo puede establecer un valor superior.
  • El usuario root puede configurar las operaciones de cualquiera a cualquier valor, alto o bajo.

Gestionar procesos en Linux simplificado

Un entorno multiusuario contiene muchos procesos que requieren un conocimiento suficiente de la gestión de los recursos del sistema para evitar cuellos de botella y limitaciones del sistema. Parte del trabajo consiste en administrar procesos ejecutándolos en segundo plano/en primer plano, y eliminándolos o renovándolos.

También puede obtener información sobre la mejor utilidad de comando para ver y ordenar procesos y aprender a terminar procesos que no responden en Linux. Ahora puedes ver Consejos esenciales para usuarios avanzados de Ubuntu Linux.

Ir al botón superior