Como matar procesos en linux

Como matar procesos en linux

Tabla de Contenidos

Linux mostrar procesos

El sistema operativo Linux proporciona varias formas de terminar un proceso del sistema operativo Linux. La forma obvia de detener un programa es haciendo clic en el botón X en la esquina superior izquierda o derecha. Pero hay una miríada de otras formas de matar un proceso; estamos aquí para discutir las otras formas eficientes.

La segunda forma obvia de matar un proceso que acaba de ser lanzado es escribir Ctrl-C en la línea de comandos. La secuencia de control Ctrl-C es generalmente segura, aunque es posible que se pierdan algunos datos.

El sistema operativo Linux viene con el comando kill que puedes usar para terminar un proceso cuando no responde o está consumiendo demasiados recursos. Un proceso en Linux es una instancia de un programa.

– SIGTERM – El comando kill enviará una señal SIGTERM por defecto. Debería permitir que el proceso termine a través de sus procedimientos normales de apagado. Es una forma más suave de intentar terminar un proceso y puede ser bloqueado.

En esta guía, destacamos varias formas de matar procesos en Linux. Hay una ligera curva de aprendizaje en cuanto a la lista de opciones de señalización que ofrece, lo cual es esencial para una correcta administración de Linux. Si quieres aprender más, te sugiero que mires sus respectivas páginas man.

Atajo para matar procesos en Linux

Cuando un proceso se comporta mal, es posible que a veces quieras terminarlo o matarlo. En este post, exploraremos algunas formas de terminar un proceso o una aplicación desde la línea de comandos así como desde una interfaz gráfica, usando gedit como aplicación de ejemplo.

Un problema al invocar gedit desde la línea de comandos (si no estás usando gedit &) es que no liberará el prompt, por lo que la sesión del shell se bloquea. En tales casos, Ctrl+C (la tecla Control en combinación con ‘C’) es muy útil. Eso terminará gedit y todo el trabajo se perderá (a menos que el archivo se haya guardado). Ctrl+C envía la señal SIGINT a gedit. Esta es una señal de parada cuya acción por defecto es terminar el proceso. Instruye al shell para que detenga gedit y vuelva al bucle principal, y usted obtendrá de nuevo el prompt.

Vamos a reanudar gedit en segundo plano y a liberar un prompt para ejecutar otros comandos. Puedes hacer esto usando el comando bg, seguido del ID del trabajo (fíjate en el [1] de la salida de trabajos de arriba. [1] es el ID del trabajo).

kill puede funcionar sin especificar una señal explícitamente. En ese caso, la acción por defecto es enviar SIGTERM, que terminará el proceso. Ejecute kill -l para listar todos los nombres de señales, y utilice el comando man kill para leer la página man.

Matar proceso por pid

En este artículo, le mostraremos cómo utilizar los comandos kill, killall y pkill para terminar un proceso en Linux. Un proceso es la forma de un programa que se está ejecutando en ese momento. Los programas se almacenan en el disco y los procesos se ejecutan en la memoria.

La principal diferencia entre estas herramientas es que kill termina los procesos basándose en el número de identificación del proceso (PID), mientras que los comandos killall y pkill terminan los procesos en ejecución basándose en sus nombres y otros atributos.

Las señales son una forma de diálogo entre los procesos que pueden provenir de otros procesos, del kernel o del propio proceso. Estos comandos kill, killall y pkill envían una señal determinada a los procesos o grupos de procesos mencionados. Si no se proporcionan señales, cada herramienta envía 15 (TERM).

2. Comando killall – mata los procesos por su nombre. Por defecto, enviará una señal TERM. El comando killall puede matar varios procesos con un solo comando. Si se ejecuta más de un proceso con ese nombre, se matarán todos.

3. Comando Pkill – Envía una señal al proceso basado en su nombre. Puede enviar una señal a cualquier proceso especificando el nombre completo o el nombre parcial. Así que no hay necesidad de averiguar el PID del proceso para enviar la señal.

Linux mata todos los procesos

Imagínate esto: Has lanzado una aplicación (ya sea desde tu menú de escritorio favorito o desde la línea de comandos) y empiezas a usar esa aplicación lanzada, sólo para que se bloquee, deje de funcionar o muera inesperadamente. Intentas ejecutar la aplicación de nuevo, pero resulta que la original nunca se cerró del todo.

¿Qué haces? Matar el proceso. ¿Pero cómo? Lo creas o no, tu mejor opción suele estar en la línea de comandos. Afortunadamente, Linux tiene todas las herramientas necesarias para que usted, el usuario, pueda matar un proceso errante. Sin embargo, antes de lanzar inmediatamente ese comando para matar el proceso, primero tienes que saber cuál es el proceso. ¿Cómo te ocupas de esta tarea en capas? En realidad es bastante sencillo… una vez que conoces las herramientas a tu disposición.

Los pasos que voy a esbozar funcionarán en casi todas las distribuciones de Linux, ya sean de escritorio o de servidor. Voy a tratar estrictamente con la línea de comandos, así que abre tu terminal y prepárate para escribir.

El primer paso para matar el proceso que no responde es localizarlo. Hay dos comandos que uso para localizar un proceso: top y ps. Top es una herramienta que todo administrador debería conocer. Con top, se obtiene un listado completo de los procesos que se están ejecutando actualmente. Desde la línea de comandos, ejecute top para ver una lista de sus procesos en ejecución (Figura 1).