kill (terminar)
100%

Procesos · Lección 7

kill (terminar)

Aprende a identificar un proceso y enviarle una señal apropiada con kill mediante una secuencia de escalada segura.

La orden kill envía una señal a un proceso o grupo de procesos. Su nombre es histórico: la señal solicitada puede terminar, detener, continuar o provocar alguna acción definida por la aplicación. Confirma siempre el destino exacto y comprende el comportamiento documentado del programa para esa señal antes de enviarla.

Solicitar una terminación ordenada

Con solo un PID, kill envía SIGTERM de forma predeterminada:

$ kill 12445

Prefiere el nombre simbólico cuando indiques explícitamente una señal:

$ kill -TERM 12445

La acción predeterminada de SIGTERM es terminar, pero un programa puede capturarla o ignorarla. Un servicio bien diseñado puede usar un manejador para dejar de aceptar trabajo, guardar el estado apropiado y liberar recursos de la aplicación. Es una posibilidad, no una garantía de limpieza inmediata o correcta.

¿Qué señal solicita kill PID de forma predeterminada?

Verificar el destino

Los PID pueden reutilizarse, por lo que un PID antiguo puede identificar después un proceso diferente. Consulta el destino activo inmediatamente antes de actuar:

$ ps -p 12445 -o pid,ppid,user,lstart,stat,cmd

Comprueba su usuario, hora de inicio, orden, padre, propiedad por un servicio y función operativa. Si un gestor de servicios controla el proceso, usa su orden de parada o recarga cuando sea posible, para que pueda mantener el estado correcto y evitar reiniciar inmediatamente al hijo.

Puedes enviar señales a procesos de tu propiedad, sujeto a las reglas de credenciales. Para señalizar el proceso de otro usuario suelen necesitarse los privilegios apropiados. No uses una orden amplia basada en nombres hasta haber revisado todas las coincidencias.

¿Por qué debes consultar un PID inmediatamente antes de enviarle una señal?

Comprobar el permiso de señal con la señal cero

La señal número cero realiza comprobaciones de errores sin entregar una señal real:

$ kill -0 12445

Un resultado correcto significa que existe un proceso con ese PID y que quien ejecuta la orden puede enviarle una señal en ese instante. Un fallo es ambiguo: puede que el proceso no exista o que falten permisos. Examina el error y el estado de salida en vez de traducir todos los fallos como «no está en ejecución». Además, solo es una comprobación momentánea y no elimina una carrera posterior por reutilización del PID.

¿Qué demuestra un kill -0 PID correcto en ese instante?

Escalar solo cuando sea necesario

Si un destino autorizado no termina después de SIGTERM, espera un tiempo apropiado para la carga de trabajo e investiga el motivo. Después, cuando esté justificada la terminación forzosa, envía:

$ kill -KILL 12445

SIGKILL no puede capturarse, ignorarse ni bloquearse, por lo que el programa no puede realizar una limpieza en el nivel de aplicación. Puede dejar transacciones incompletas, estado temporal o trabajo de recuperación para otros componentes. Úsala como escalada, no como primer paso habitual.

Otras señales solo tienen significado según el contrato del programa receptor. SIGHUP suele solicitar una recarga de configuración, pero algunos programas conservan su acción predeterminada de terminación. SIGSTOP pausa sin limpiar y SIGCONT reanuda un proceso detenido.

¿Cuál es la principal desventaja operativa de SIGKILL?

Practica la selección de señales únicamente con procesos que hayas iniciado en un entorno aislado. El laboratorio Gestionar y supervisar procesos de Linux ofrece un flujo controlado de inspección y terminación.

Lección completada

Has completado kill (terminar)

Ahora puedes enviar señales a procesos mediante un flujo deliberado y verificable.

  • Confirma el destino activo y su supervisor antes de actuar.

  • Usa SIGTERM como solicitud normal de terminación.

  • Interpreta la señal cero como una comprobación momentánea de existencia y permisos.

  • Reserva SIGKILL para una escalada justificada después de investigar.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Procesos