¿Cómo matar un proceso en Linux? ¿Qué hacer si kill pid no funciona?
sobes.tech AI
Respuesta de la IA
En Linux, un proceso se puede terminar usando el comando kill y especificando el PID (identificador del proceso):
kill <pid>
Por defecto, se envía la señal SIGTERM (15), que termina el proceso de manera correcta.
Si el proceso no responde a SIGTERM, se puede enviar una señal más fuerte, SIGKILL (9), que termina el proceso de forma forzada:
kill -9 <pid>
Si incluso kill -9 no funciona, es posible que el proceso esté en estado "D" (sueño ininterrumpible), por ejemplo, esperando entrada/salida o bloqueado a nivel del núcleo. En este caso, no se puede matar el proceso hasta que finalice la llamada al sistema o se libere el recurso.
Para diagnosticar, se puede usar:
ps aux | grep <pid>— para ver el estado del proceso (columna STAT)topohtop— para monitorear procesosstrace -p <pid>— para rastrear las llamadas al sistema del proceso
Si el proceso está colgado debido a problemas de hardware o del sistema de archivos, se debe resolver el problema en ese nivel.