Linux PC

Cómo matar un proceso en Linux

How to Kill a Process in Linux

Todos hemos tenido esos días en que nuestra computadora funciona excepcionalmente lenta y tartamudea al realizar incluso las tareas básicas. En Windows, solo tiene el Administrador de tareas de Windows para inspeccionar y eliminar procesos que no son tan importantes pero que consumen enormes cantidades de memoria. Sin embargo, en Linux, tiene todo un arsenal de comandos y herramientas GUI para administrar estas tareas. En este artículo, mostraremos algunos métodos sencillos de línea de comandos (CLI), así como métodos de GUI sobre cómo eliminar un proceso en Linux.

Terminar proceso en Linux (2023)

Pero antes de sumergirnos en el mundo de la gestión de procesos en Linux, comprendamos qué es exactamente un proceso y qué es un ID de proceso en los sistemas Linux.

¿Qué son los procesos en Linux?

En Linux, cada instancia de un programa actualmente en ejecución se conoce como “proceso”, mientras que cada archivo ejecutable se conoce como programa. Cuando se ejecuta cualquier programa, se crea un proceso y a cada proceso se le asigna un número de identificación único de 5 dígitos conocido como “ID de proceso”. Cuando un proceso ha terminado de ejecutarse o se termina por la fuerza, su ID de proceso se asigna al siguiente proceso en la línea.

Matar proceso a través de la línea de comandos en Linux

Aunque usar la terminal a veces puede parecer intimidante en comparación con el uso de herramientas GUI para tareas básicas, administrar varios procesos se vuelve mucho más fácil una vez que comprende los comandos y sus diversas opciones.

Señales de terminación

Cuando intenta eliminar un proceso desde la GUI o la CLI en Linux, el kernel envía una señal de terminación al proceso. El proceso actúa en consecuencia, dependiendo de la señal recibida. A cada una de estas señales se le asigna un número específico para que el programa las entienda rápidamente. Existen numerosos tipos de señales de terminación, pero aquí solo hemos explicado las esenciales:

Señal Valor numérico Descripción
SUSCRÍBETE 1 Significa ‘Signal Hangup’
Se envía cuando el terminal está cerrado.
SEGUIR 2 Significa ‘Interrupción de señal’
Se envía cuando el usuario finaliza el proceso.
sigilo 9 Significa ‘matar señal’
Se envía cuando necesita salir de un proceso inmediatamente.
SIGTERM 15 Significa ‘Terminación de señal’
Se envía cuando se necesita terminar un proceso y liberar los recursos consumidos
SEGUIMIENTO 19 – para BRAZO, x86
17 – para ALFA
23 – para MIPS
24 – para PA-RISC
Significa ‘Señal de parada’
Se envía cuando necesitas pausar un proceso y reanudarlo más tarde.
Las señales más utilizadas son SIGKILL (9) y SIGTERM (15).

Identificar los ID de proceso

Antes de finalizar un proceso, debe conocer algunos detalles del proceso, como el ID del proceso, el tiempo de ejecución, etc. Para conocer los detalles de un proceso, utilice el ps dominio:

ps

Con el comando ps, debe buscar el proceso desplazándose y anotando su nombre, lo que podría ser engorroso. En su lugar, incluso puede utilizar el grep comando con el ps comando en una canalización, como se muestra a continuación:

ps | grep <process_name>

Para simplificar las cosas, hay un comando separado que muestra solo la identificación del proceso de cualquier proceso en ejecución que necesite saber. La sintaxis para usar el pidof el comando es:

pidof <process_name>

Identificar la identificación del proceso

Terminar el proceso usando el comando matar

Una vez que haya anotado la ID del proceso que desea finalizar, el comando más común utilizado para finalizar programas en su sistema Linux es el comando kill. La sintaxis para usar el comando kill es:

kill <signal> <process_id>

El <signal> El parámetro es opcional y el comando kill envía la señal SIGTERM (15) por defecto. Puede enviar cualquier otra señal por su valor numérico o el nombre real de la señal de la tabla anterior.

terminar usando el comando matar

Terminar proceso usando el comando pkill

Si cree que buscar la identificación del proceso es un inconveniente, puede usar el comando pkill. Busca los procesos que coinciden con un patrón y luego lo elimina. La sintaxis para usar el comando pkill es:

pkill <options> <pattern>

Algunas de las opciones comunes para emparejar con el comando pkill son:

Opción Descripción
-n Selecciona solo los últimos procesos que coinciden con la identificación del proceso
-u Selecciona los procesos propiedad de un usuario en particular
-x Selecciona procesos que coinciden exactamente con el patrón.

Esto es particularmente importante cuando varios usuarios están trabajando en diferentes instancias del mismo programa en el mismo sistema y una de las instancias comienza a tener un comportamiento inesperado. Por ejemplo, en la siguiente captura de pantalla, estamos eliminando la instancia “gedit” propiedad del usuario ‘intel’ usando el comando pkill en Linux:

pkill -u intel gedit

Matar el proceso de gedit usando el comando pkill

Terminar el proceso usando el comando killall

El killall El comando funciona de manera similar al kill pero elimina todos los procesos que coinciden con el nombre del proceso, independientemente del usuario. Por defecto, envía el señal SIGTERM si no se especifica lo contrario. Una cosa interesante a tener en cuenta es que el killall El comando nunca puede matarse a sí mismo, pero puede terminar otras instancias del killall dominio. La sintaxis para usar el killall el comando es:

killall <options> <process_name>

Algunas de las opciones para emparejar con el comando killall son:

Opción Descripción
-r Interpreta el nombre_del_proceso como un patrón de expresiones regulares y luego elimina los procesos que coinciden con el patrón.
-u mata el proceso especificado propiedad de un propietario especificado.
-o Mata los procesos especificados más antiguos (iniciados antes) que un tiempo específico.
-y Mata los procesos especificados más jóvenes (iniciados después) del tiempo específico.

El comando killall puede ser útil para terminar una serie del mismo proceso o incluso todos los procesos que pertenecen a un propietario específico. Aquí, en nuestro ejemplo, estamos matando todos los procesos de “dormir durante 500 segundos” usando el comando killall en Linux:

killall -v sleep

matar todos los procesos llamados sleep

Terminar el proceso de Linux usando el comando top/htop

Este método de eliminación de procesos es útil cuando no tiene idea de qué procesos consumen el máximo de recursos. En ambos comandos, puede navegar a través de todos los procesos en ejecución o incluso procesos zombis y puede finalizarlos rápidamente. Para usar el comando superior para monitorear sus recursos, use la sintaxis en la Terminal:

top

Comprender la salida:

La salida principal del comando superior se divide en columnas que son:

  1. PID – muestra el ID de proceso del proceso en ejecución
  2. Usuario – muestra el propietario del proceso
  3. relaciones públicas – muestra el valor de prioridad del proceso asignado por el sistema operativo
  4. NI – muestra los buenos valores que son como asignar valores espaciados por el usuario para controlar manualmente la prioridad de una tarea.
  5. VIRTUAL – muestra la cantidad de memoria virtual utilizada por el proceso.
  6. RES – muestra la cantidad de memoria física utilizada por el proceso
  7. SHR – muestra la cantidad de memoria compartida por otros procesos
  8. S – muestra el estado actual del proceso que puede ser:
    • D – sueño ininterrumpido
    • R- corriendo
    • S- durmiendo
    • T – detenido
    • Z-zombi
  9. %UPC – Muestra la cantidad de CPU utilizada por el proceso en porcentaje
  10. %MEM – Muestra la cantidad de RAM utilizada por el proceso en porcentaje
  11. TIEMPO+ – Muestra el tiempo total de ejecución del proceso
  12. Dominio – Muestra qué comando se invocó para el proceso.

Si no conoce el ID de proceso de la tarea que desea eliminar, navegue por la lista con las teclas de flecha o busque el nombre del proceso en la tabla de procesos en Linux.

Para buscar el nombre del proceso, presione ‘L’ en el teclado y escriba el nombre del proceso que desea buscar. Una vez que encuentres el nefasto proceso, presione ‘k’ en el teclado para terminar el proceso. Ahora, ingrese el ID del proceso o déjelo en el proceso resaltado actualmente y presione ‘ENTRAR’. Luego, ingrese la señal de terminación y luego presione ‘ENTER’ para terminar el programa. Para volver a la terminal, presione ‘q’ en el teclado.

  • Cómo matar un proceso en Linux
  • Cómo matar un proceso en Linux
  • Cómo matar un proceso en Linux

Aunque el top El comando muestra detalles como la identificación del proceso, el consumo de memoria y más para todos los procesos en ejecución, no es adecuado para principiantes ya que no muestra ninguna asignación de teclas ni cómo usarlo. Por otro lado, el htop El comando tiene una interfaz más fácil de usar, incluso para una herramienta de línea de comandos. Además, muestra todos los detalles en una vista separada, por lo tanto, no abarrota la ventana de la terminal. No viene preinstalado en la mayoría de las distribuciones, y debe usar el siguiente comando para instalar htop en Linux:

sudo apt install -y htop

Para usar htop para administrar procesos en Linux, use el siguiente comando:

htop

Para finalizar un programa, navegue hasta el nombre del proceso que desea finalizar, presione ‘F9’ y luego presione Intro. Si necesita buscar y eliminar cualquier programa, presione ‘F3’ en el teclado, escriba el nombre y presione Enter. El el nombre del proceso se resaltarápresione F9 y luego presione Entrar en el teclado para finalizar el proceso.

  • Cómo matar un proceso en Linux
  • Cómo matar un proceso en Linux

Matar un proceso a través del monitor del sistema en Linux

Si cree que el método de la línea de comandos es difícil para usted, puede usar la herramienta de monitoreo del sistema integrada que está disponible en todas las distribuciones de Linux. Para saber cómo funciona, abra la herramienta del monitor del sistema desde el menú Aplicaciones y siga los pasos a continuación.

1. Una vez que se abra la herramienta del monitor del sistema, verá tres pestañas en la parte superior denominadas: Procesos, Recursos y Sistema de archivos. Para administrar sus procesos, diríjase a la Pestaña “Procesos”. Aquí, verá todos sus procesos actualmente en ejecución. Presione ‘CTRL+F’ para buscar un nombre de proceso. Haga clic en el nombre del proceso que desea cancelar y haga clic en “Terminar proceso”.

Buscar procesos usando el monitor del sistema

2. Luego, recibirá un mensaje de confirmación si desea finalizar el proceso o no. Continúe y haga clic en el gran botón rojo “Finalizar proceso” para finalizar el proceso en Linux.

matar el proceso usando el monitor del sistema

Preguntas frecuentes

¿Cómo detengo todos los procesos en Linux?

Si necesita detener todos los procesos (excepto el shell de inicio de sesión, init y los procesos específicos del kernel) para un usuario específico en Linux, use el comando pkill o el comando killall según la sintaxis:

pkill -u <username>

killall -u <username>

Si necesita eliminar todos los procesos de todos los usuarios, incluido el sistema de inicio, presione las teclas ‘ALT + Prt Sc + o’ en el teclado.

¿Está bien terminar un proceso?

Cuando cierra cualquier proceso en segundo plano no esencial o un proceso de usuario que consume mucha memoria del sistema, libera los recursos que ahora pueden utilizar otros procesos. Pero, antes de cerrar cualquier proceso, asegúrese de no estar matando un proceso esencial del sistema operativo.

¿Cuáles son los procesos en segundo plano en Linux?

En Linux, los procesos en segundo plano son procesos que pueden ejecutarse sin la instancia de shell ni la intervención del usuario. Se pueden ver usando cualquiera de los comandos: top, htop, ps, etc.

¿Qué es un proceso zombie??

Un proceso que ha sido eliminado por el usuario pero que aún ocupa memoria se conoce como proceso zombie.

¿Qué hace CTRL + Z en Linux?

Cuando usa CTRL + Z en Linux, envía la señal SIGTSTP que suspende el proceso y lo envía en segundo plano. Cuando un proceso está en un estado suspendido en segundo plano, no puede eliminar el proceso hasta que vuelva a estar en primer plano.

Elimina Procesos en Linux Fácilmente

Matar los procesos que acaparan la memoria es una tarea bastante crucial que todo usuario debería aprender. En este artículo, hemos mostrado tanto el método de la línea de comandos, incluidos comandos como killall y pkill, como los métodos de la GUI para eliminar procesos en Linux. Incluso hemos detallado cómo usar herramientas populares como top y htop para administrar procesos en su PC con Linux. Si tiene algún problema al usar estas herramientas para eliminar un proceso, háganoslo saber en los comentarios a continuación.

Similar Posts

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *