GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué hacer cuando Ctrl + C no puede matar un proceso?

Para entender el problema de por qué Ctrl + C no funciona, es muy útil entender lo que sucede cuando lo presionas:

La mayoría de los shells enlazan Ctrl + C para "enviar una señal SIGINT al programa que actualmente se ejecuta en primer plano". Puede leer sobre las diferentes señales a través de la señal man:

 SIGINT        2       Term    Interrupt from keyboard

Los programas pueden ignorar esa señal, como también pueden ignorar SIGTSTP:

 SIGTSTP   18,20,24    Stop    Stop typed at tty

(Que es lo que hacen la mayoría de los shells cuando presionas Ctrl + Z , por lo que no se garantiza que funcione).

Hay algunas señales que no pueden ser ignoradas por el proceso:SIGKILL, SIGSTOP y algunas otras. Puede enviar estas señales a través del comando matar. Entonces, para matar su proceso de bloqueo/zombie, solo busque la ID del proceso (PID). Por ejemplo, use pgrep o ps y luego kill es:

 % kill -9 PID

Si Ctrl +C (SIGINT) no funciona, intente Ctrl +\ (SIGQUIT). Luego intente Ctrl +Z (SIGTSTP). Si eso lo devuelve a un indicador de shell, haga kill en la identificación del proceso. (Esto por defecto es la señal SIGTERM, que puede especificar con kill -TERM . En algunos shells, es posible que pueda usar %1 para referirse al PID). Si eso no funciona, vaya a otra terminal o sesión SSH y haga kill o kill -TERM en la identificación del proceso. Solo como último recurso deberías hacer kill -KILL , también conocido como kill -9 , ya que no le da al proceso ninguna posibilidad de cancelarse limpiamente, sincronizar sus archivos abiertos, eliminar sus archivos temporales, cerrar conexiones de red, etc.


Ver este enlace también.

Ctrl +Z :pausar un proceso.

Ctrl +C :solicite educadamente que el proceso se cierre ahora.

Ctrl +\ :matar sin piedad el proceso que está actualmente en primer plano


Linux
  1. ¿Qué son los procesos zombis y cómo encontrar y eliminar procesos zombis?

  2. ¿Qué pasa si 'matar -9' no funciona?

  3. Linux:¿cuándo no debo matar -9 un proceso?

  4. ¿Cómo puedo matar un proceso por nombre en lugar de PID?

  5. ¿Qué es un proceso ininterrumpido?

Cómo matar un proceso en Linux

Comando matar en Linux

¿Qué hace un programa cuando se envía una señal Sigkill?

¿Qué mató mi proceso y por qué?

¿Alguien puede explicar en detalle qué hace set -m?

¿Puede un proceso tener un propietario? ¿Qué significa?