kill

kill

En Unix y los sistemas operativos tipo Unix, kill es un comando utilizado para enviar mensajes sencillos a los procesos ejecutándose en el sistema. Por defecto el mensaje que se envía es la señal de terminación (SIGTERM), que solicita al proceso limpiar su estado y salir. Pero kill no tiene por que tener que ver con matar al proceso. El comando kill es un wrapper alrededor de la llamada al sistema kill(), que envía señales a procesos o grupos de procesos en el sistema, referenciados por sus IDs de proceso (PIDs) o IDs de grupo de procesos (PGIDs). kill se ofrece siempre como programa independiente, pero la mayoría de las shells tienen intrínsecamente comandos kill que pueden diferir levemente de ella.

Pueden enviarse numerosas señales (vea señal (informática) para la lista completa), aunque las señales en las que los usuarios suelen estar más interesados son SIGTERM y SIGKILL. La señal por defecto es SIGTERM. Los programas que cazan esta señal pueden limpiar su estado (como guardar datos de la configuración a un archivo) antes de terminarse. Para los programas que no capturan esta señal, se utiliza una gestión por defecto. En otras ocasiones, un proceso capaz de capturar la señal puede quedar en un estado que le impide manejarla.

Todas las señales excepto SIGKILL y SIGSTOP pueden ser interceptadas por el proceso, esto es, tener una función especial que es llamada cuando el programa recibe tales señales. Sin embargo, SIGKILL y SIGSTOP sólo las ve el kernel, lo que provee formas seguras de controlar la ejecución de los procesos. SIGKILL finaliza el proceso, y SIGSTOP lo pone en pausa hasta que se reciba una señal SIGCONT.

Unix cuenta con mecanismos de seguridad para evitar que usuarios no autorizados puedan finalizar otros procesos. Básicamente, para que un proceso pueda enviar una señal a otro, deben tener el mismo propietario, o ser enviada por el superusuario.

Las señales disponibles tienen distintos nombres, asignados a determinados números. El número de las señales puede cambiar entre distintas implementaciones de Unix. SIGKILL suele tener el número 9 y SIGTERM el 15.

Contenido

Ejemplos

Puede enviarse una señal SIGTERM a un proceso (en este caso con el PID 1234) de tres maneras:

  • kill 1234
  • kill -TERM 1234
  • kill -15 1234

Puede enviarse una señal SIGKILL de dos formas:

  • kill -KILL 1234
  • kill -9 1234

Otras señales interesantes son HUP, TRAP, INT y ALRM. Una señal SIGINT puede generarse simplemente presionando CTRL+C en la mayoría de las shells. También es común que CTRL+Z esté mapeada a SIGTSTP y CTRL+\ (backslash) a SIGQUIT, que puede forzar un programa a generar un volcado de memoria.

Programas relacionados

  • killall - en algunas variantes de Unix, como Solaris este programa es llamado automáticamente cuando se apaga el sistema. Se comporta de forma parecida al comando kill, pero en lugar de enviar una señal a un proceso, se envía a todos los procesos del sistema. En cambio, en otros como IRIX, Linux y FreeBSD se pasa un argumento con el nombre del proceso o procesos. Así, para eliminar una instancia del reproductor XMMS se ejecutaría killall xmms, lo que eliminaría todos los procesos de un ejecutable llamado xmms.
  • pkill - señala procesos por el nombre y otros atributos. Introducido en Solaris 7, ha sido reimplementado para Linux y OpenBSD.

Windows

Microsoft Windows tiene el comando taskkill[1] para finalizar procesos. También se soporta kill mediante Cygwin o Microsoft Windows Services for UNIX (WSU).

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Kill — may refer to: Killing, to cause the death of an organism, or the act of doing so. The verb form may also be a general use metaphor, synonymous with to terminate or to finish Kill, a civil parish in Dublin, Ireland Kill (body of water), a creek, a …   Wikipedia

  • Kill — Saltar a navegación, búsqueda En Unix y los sistemas operativos tipo Unix, kill es un comando utilizado para enviar mensajes sencillos a los procesos ejecutándose en el sistema. Por defecto el mensaje que se envía es la señal de terminación… …   Wikipedia Español

  • Kill — Kill, v. t. [imp. & p. p. {Killed} (k[i^]ld); p. pr. & vb. n. {Killing}.] [OE. killen, kellen, cullen, to kill, strike; perh. the same word as cwellen, quellen, to kill (cf. {Quell}), or perh. rather akin to Icel. kolla to hit in the head, harm,… …   The Collaborative International Dictionary of English

  • Kill — Kill  unix утилита, посылающая сигнал процессу. Содержание 1 Синтаксис 2 Описание 3 Параметры 4 Ссылки …   Википедия

  • KILL — «KILL» Sencillo de MELL Formato CD Grabación 2008 Género(s) J Pop Duración 13:24 …   Wikipedia Español

  • kill — vb Kill, slay, murder, assassinate, dispatch, execute are comparable when meaning to deprive of life or to put to death. Kill is so general that it merely states the fact and does not, except in special phrases (as Thou shalt not kill ), suggest… …   New Dictionary of Synonyms

  • kill — kill1 [kil] vt. [ME kullen, killen < ? OE * cyllan, special late phonetic development of cwellan, to kill: see QUELL] 1. to cause the death of; make die 2. a) to destroy the vital or active qualities of b) to destroy; put an end to; ruin …   English World dictionary

  • kill — ► VERB 1) cause the death of. 2) put an end to. 3) informal overwhelm with an emotion. 4) informal cause pain or anguish to. 5) pass (time). 6) stop (a computing process). 7) (in sport) make (the ball) stop …   English terms dictionary

  • Kill — ist: der Familienname von Angelika Kill (1917 2003), Angehörige des Ordens der Ursulinen und langjährige Leiterin der Ursulinenschule Fritzlar ein Familienname, insbesondere im amerikanischen Raum eine Stadt in County Kildare, Irland, siehe Kill… …   Deutsch Wikipedia

  • Kill — Kill, n. 1. The act of killing. There is none like to me! says the cub in the pride of his earliest kill. Kipling. [Webster 1913 Suppl.] 2. An animal killed in the hunt, as by a beast of prey. If ye plunder his kill from a weaker, devour not all… …   The Collaborative International Dictionary of English

  • Kill — Kill, n. [D. kil.] A channel or arm of the sea; a river; a stream; as, the channel between Staten Island and Bergen Neck is the Kill van Kull, or the Kills; used also in composition; as, Schuylkill, Catskill, etc. [1913 Webster] …   The Collaborative International Dictionary of English

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”