Cómo matar un proceso de ejecución en Linux
- 797
- 28
- Berta Solano
Todo lo que se ejecuta en un sistema de Linux (un servicio, script o cualquier otra cosa, se considera un "proceso."Si necesita finalizar un proceso en ejecución en Linux, el matar
El comando seguramente hará el trabajo.
En esta guía para los administradores de Linux, revisaremos el matar
Comando de Linux y cómo usar sus diversas opciones para terminar o "matar", un proceso en ejecución en Linux.
En este tutorial aprenderás:
- ¿Cómo funciona el mando de matar??
- Cómo ver qué procesos se están ejecutando
- Cómo matar un proceso de PID
- Cómo matar un proceso que se niega a cerrar
- Cómo matar un proceso por su nombre
Requisitos y convenciones de software utilizados
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | Ubuntu, Debian, Centos, Rhel, Fedora |
Software | Ninguno |
Otro | Acceso privilegiado a su sistema Linux como root o a través del sudo dominio. |
Convenciones | # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominiops - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado |
¿Cómo funciona el mando de matar??
Con un nombre como "Kill", es posible que esta utilidad se use para finalizar inmediatamente un proceso. Mientras que esto es cierto, matar
Solo funciona de esa manera cuando se usa con ciertas opciones. Por defecto, matar
intentará detener un proceso con la mayor gracia posible.
En términos técnicos, matar
envía un Siglo señal al proceso especificado, y eso instruye al proceso a apagar. Es una forma cortés de finalizar un proceso de ejecución y le da a la aplicación o tiempo de servicio para concluir primero, como terminar de escribir en archivos de registro, cerrar conexiones abiertas que fueron generadas por el proceso, etc.
El único problema con esto es que un programa obstinado puede ignorar el Siglo señal. Esto ocurre especialmente en un proceso que está congelado o "colgado." Sin embargo, matar
se puede usar para enviar muchas señales diferentes a un proceso, e incluso puede obligar a las más obstinadas a cerrar con un Sigkill señal. Repasaremos estas opciones en la siguiente sección.
Lo importante para quitar de esta información es que, cuando sea posible, debe enviar una señal de signo ordinaria a un proceso que desea finalizar. Matando inmediatamente un servicio con un Sigkill La señal es efectiva cada vez y le dará resultados instantáneos, pero puede causar problemas futuros ya que el proceso no tuvo la oportunidad de cerrar correctamente.
Cómo ver qué procesos se están ejecutando
A cada proceso en Linux se le asigna una "ID de proceso" única, comúnmente abreviada como Pid En la terminal de Linux. A veces, conocer el PID de un proceso es necesario para terminarlo. Para ver una lista de procesos de ejecución y sus números PID correspondientes, use el PD
dominio:
# ps -e
Esto puede producir una gran cantidad de salida, porque incluso una nueva instalación de Linux puede tener bastantes procesos de ejecución, por lo que generalmente es mejor imponer este comando grep
o más
.
Para una vista más manejable:
# ps -e | Más -15
O buscar un proceso específico (ssh en este ejemplo):
# ps -e | grep sshObtenga el PID de un proceso de ejecución
Otra forma útil de ver una lista de procesos de ejecución y sus PID es con el arriba
dominio. A veces esto es aún más útil, ya que también muestra cuántos recursos del sistema están utilizando los procesos.
Cómo matar un proceso de PID
Una vez que haya determinado el PID del proceso que desea finalizar, puede especificarlo como un argumento para el matar
dominio. Por ejemplo, para terminar un proceso con un PID de 1234:
# matar 1234
Este comando envía un Siglo señal y debería poder cerrar la mayoría de los procesos en un segundo o dos. Recuerda que puedes usar el PD
comandar nuevamente para verificar que el proceso se haya cerrado con éxito.
# ps -e | GREP 1234
Cómo matar un proceso que se niega a cerrar
Si se ha encontrado con un proceso terco que se niega a cerrar, puede emitir un Sigkill señal con el -9
opción matar
.
# Kill -9 1234
Solo recuerde usar esta opción con moderación, ya que no es la forma ideal de terminar un proceso (pero a veces tiene que hacerlo).
Normalmente, Siglo y Sigkill son probablemente las únicas dos señales que deberá usar, pero hay muchas otras que puede enviar con el matar
dominio. El siguiente comando emitirá una lista completa:
# matar -lUna lista de las señales que Kill puede enviar
Es bueno al menos tener en cuenta las otras opciones, ya que algunos programas o scripts pueden recomendar su uso.
Como puede ver en la salida, Sigkill figura en el n. ° 9, por eso el -9
Switch envía el Sigkill señal. Especificar un número diferente para enviar su señal respectiva a un proceso.
Cómo matar un proceso por su nombre
Hay una forma más rápida de terminar un proceso que tener que buscar su PID cada vez. Utilizar el pkill
comando y el nombre del proceso que desea matar. Por ejemplo, aquí es cómo matar a SSH:
# pkill ssh
El pkill
El comando es capaz de enviar diferentes señales, al igual que el regular matar
dominio:
# pkill -9 ssh
No se preocupe por obtener el nombre exacto del proceso, tampoco. Este comando mató un proceso llamado SSH-agent que se estaba ejecutando en nuestro sistema.
Hay un inconveniente para usar pkill
en lugar de matar
. Digamos que tienes dos procesos SSH en ejecución, 'SSH-Server' y 'SSH-agent'. Emisión del comando anterior con pkill
va a terminar ambos procesos, incluso si solo pretendía terminar con el agente SSH.
También es un problema si tiene múltiples instancias de un script en ejecución, desde que se dice pkill
Para terminar ese script va a terminar todas las instancias del script. Por otra parte, a veces este comportamiento puede ser preferible. Si necesita el control más granular, solo recuerde optar por el matar
comandar en su lugar.
Conclusión
En este artículo, vimos cómo matar cualquier proceso que se ejecute en un sistema de Linux utilizando el matar
dominio. Aprendimos a matar un proceso por su PID o por su nombre, junto con los pros y los contras de ambos métodos.
Con conocimiento del matar
Comando y las mejores prácticas sobre cómo usarlo, tiene más control sobre los procesos que se ejecutan en su sistema. Esto es particularmente útil para los programas que "cuelgan" y se niegan a cerrar a veces.
Tutoriales de Linux relacionados:
- Cosas para instalar en Ubuntu 20.04
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- Comandos básicos de Linux
- Cómo propagar una señal a los procesos infantiles de una fiesta ..
- Comandos de Linux: los 20 comandos más importantes que necesitas ..
- Una introducción a la automatización, herramientas y técnicas de Linux
- Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
- Descarga de Linux
- Instale Arch Linux en VMware Workstation
- Cómo imprimir el árbol de directorio usando Linux
- « Cómo verificar y monitorear la utilización de la CPU en Linux
- Cómo actualizar Debian 9 Stretch a Debian 10 Buster »