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


La gestión de procesos es uno de los aspectos importantes de la administración de sistemas en Linux e incluye la eliminación de procesos mediante el comando kill.

En este tutorial, veremos cómo eliminar procesos menos productivos o no deseados en su sistema Linux.

Un proceso en un sistema Linux puede ser una ocurrencia en ejecución de una aplicación o programa. También puede referirse a procesos como tareas que se ejecutan en el sistema operativo.

Cuando un proceso se está ejecutando, sigue cambiando de un estado a otro y un proceso puede estar en uno de los siguientes estados:

  1. En ejecución: significa que el proceso se está ejecutando o simplemente está configurado para ejecutarse.
  2. Esperando: significa que el proceso está esperando un evento o un recurso del sistema para llevar a cabo una tarea.

Hay dos tipos de procesos de espera en Linux, a saber, interrumpible e ininterrumpible.

Un proceso de espera que puede ser interrumpido por señales se llama interrumpible, mientras que un proceso de espera que está esperando directamente en las condiciones del hardware y no puede ser interrumpido bajo ninguna condición se llama ininterrumpido.

  1. Detenido: significa que el proceso se ha detenido mediante una señal.
  2. Zombi: significa que el proceso se detuvo abruptamente y está muerto.

Con esta breve descripción general, veamos ahora las formas de matar procesos en un sistema Linux. Ya hemos cubierto algunos artículos sobre formas de matar los procesos en ejecución de Linux que usamos kill, pkill, killall y xkill, puede leerlos a continuación.

  1. Una guía para administrar procesos de Linux mediante los comandos Kill, Pkill y Killall
  2. Cómo eliminar procesos de Linux que no responden mediante el comando Xkill

Cuando se matan procesos, el comando kill se utiliza para enviar una señal con nombre a un proceso o grupos de procesos con nombre. La señal predeterminada es la señal TERM.

Recuerde que el comando kill puede ser una función incorporada en muchos shells modernos o externa ubicada en/bin/kill.

Cómo encontrar el PID de proceso en Linux

En Linux, cada proceso de un sistema tiene un PID (Número de identificación de proceso) que se puede utilizar para matar el proceso.

Puede identificar el PID de cualquier proceso utilizando el comando pidof de la siguiente manera:

$ pidof firefox
$ pidof chrome
$ pidof gimp-2.8

Cómo matar procesos en Linux

Una vez que encuentre el PID del proceso, veamos ahora cómo matar procesos. En este primer ejemplo, primero obtendré el PID del proceso y luego le enviaré una señal.

Quiero matar el proceso de gimp, así que lo haré de la siguiente manera:

$ pidof gimp-2.8
$ kill 9378

Para verificar que el proceso ha sido eliminado, ejecute el comando pidof y no podrá ver el PID.

$ pidof gimp-2.8

También puede enviar una señal con nombre al proceso utilizando el nombre o los números de la señal de la siguiente manera:

$ pidof vlc
$ kill -SIGTERM 9541
$ pidof vlc

Usando el número de señal para matar un proceso:

$ pidof banshee
$ kill -9 9647
$ pidof banshee

En el ejemplo anterior, el número 9 es el número de señal para la señal SIGKILL.

Cómo eliminar varios PID de proceso en Linux

Para matar más de un proceso, pase el (los) PID (s) al comando kill de la siguiente manera:

$ pidof gimp-2.8
$ pidof vlc
$ pidof banshee
$ kill -9 9734 9747 9762

Resumen

Hay muchas otras formas de matar procesos en Linux, estos pocos ejemplos solo ayudan a darle una descripción general de los procesos de eliminación. ¿Háganos saber cómo mata procesos en Linux? y también contar otras formas si las hay a través de comentarios.