Cómo matar un proceso en 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. Tabla de contenido

¿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.

Si quieres seguir leyendo este post sobre "[page_title]" dale click al botón "Mostrar todo" y podrás leer el resto del contenido gratis. aiso.la es un sitio especializado en Tecnología, Noticias, Juegos y gran cantidad de temas que te pueden interesar. Si quieres leer más información similar a [page_title], no dudes de sguir navegando por la web y suscribirte a las notificaciones del Blog y no perderte las últimas novedades.

Seguir leyendo


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 la ID del proceso, el tiempo de ejecución, etc. Para conocer los detalles de un proceso, use el comando ps :

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 usar el comando grep con el comando ps en una canalización, como se muestra a continuación:

ps | grep

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 comando pidof es:

pidof

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

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 el 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

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

Terminar el proceso usando el comando killall

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

killall

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

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 del proceso en ejecución
  2. Usuario: muestra el propietario del proceso.
  3. PR: muestra el valor de prioridad del proceso asignado por el sistema operativo
  4. NI: muestra los valores agradables que son como asignar valores espaciados por el usuario para controlar manualmente la prioridad de una tarea.
  5. VIRT: 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. %CPU: 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. TIME+: muestra el tiempo total de ejecución del proceso
  12. Comando: 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 encuentre el proceso nefasto, presione ‘k’ en el teclado para finalizar 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.

Comandos htop Linux 1 Comentario

Scroll al inicio