fbpx
Wikipedia

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 qué 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 solo 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.

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

Enlaces externos

  •   Datos: Q283834

kill, unix, sistemas, operativos, tipo, unix, comando, utilizado, para, enviar, mensajes, sencillos, procesos, ejecutándose, sistema, defecto, mensaje, envía, señal, terminación, sigterm, solicita, proceso, limpiar, estado, salir, pero, tiene, qué, tener, mata. En Unix y los sistemas operativos tipo Unix kill es un comando utilizado para enviar mensajes sencillos a los procesos ejecutandose en el sistema Por defecto el mensaje que se envia es la senal de terminacion 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 envia senales 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 mayoria de las shells tienen intrinsecamente comandos kill que pueden diferir levemente de ella Pueden enviarse numerosas senales vea senal informatica para la lista completa aunque las senales en las que los usuarios suelen estar mas interesados son SIGTERM y SIGKILL La senal por defecto es SIGTERM Los programas que cazan esta senal pueden limpiar su estado como guardar datos de la configuracion a un archivo antes de terminarse Para los programas que no capturan esta senal se utiliza una gestion por defecto En otras ocasiones un proceso capaz de capturar la senal puede quedar en un estado que le impide manejarla Todas las senales excepto SIGKILL y SIGSTOP pueden ser interceptadas por el proceso esto es tener una funcion especial que es llamada cuando el programa recibe tales senales Sin embargo SIGKILL y SIGSTOP solo las ve el kernel lo que provee formas seguras de controlar la ejecucion de los procesos SIGKILL finaliza el proceso y SIGSTOP lo pone en pausa hasta que se reciba una senal SIGCONT Unix cuenta con mecanismos de seguridad para evitar que usuarios no autorizados puedan finalizar otros procesos Basicamente para que un proceso pueda enviar una senal a otro deben tener el mismo propietario o ser enviada por el superusuario Las senales disponibles tienen distintos nombres asignados a determinados numeros El numero de las senales puede cambiar entre distintas implementaciones de Unix SIGKILL suele tener el numero 9 y SIGTERM el 15 Indice 1 Ejemplos 2 Programas relacionados 3 Windows 4 Vease tambien 5 Enlaces externosEjemplos EditarPuede enviarse una senal SIGTERM a un proceso en este caso con el PID 1234 de tres maneras kill 1234 kill TERM 1234 kill 15 1234Puede enviarse una senal SIGKILL de dos formas kill KILL 1234 kill 9 1234Otras senales interesantes son HUP TRAP INT y ALRM Una senal SIGINT puede generarse simplemente presionando CTRL C en la mayoria de las shells Tambien es comun que CTRL Z este mapeada a SIGTSTP y CTRL backslash a SIGQUIT que puede forzar un programa a generar un volcado de memoria Programas relacionados Editarkillall en algunas variantes de Unix como Solaris este programa es llamado automaticamente cuando se apaga el sistema Se comporta de forma parecida al comando kill pero en lugar de enviar una senal a un proceso se envia 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 Asi para eliminar una instancia del reproductor XMMS se ejecutaria killall xmms lo que eliminaria todos los procesos de un ejecutable llamado xmms pkill senala procesos por el nombre y otros atributos Introducido en Solaris 7 ha sido reimplementado para Linux y OpenBSD Windows EditarMicrosoft Windows tiene el comando taskkill 1 para finalizar procesos Tambien se soporta kill mediante Cygwin o Microsoft Windows Services for UNIX WSU Vease tambien EditarSenal informatica Enlaces externos Editarkill 1 Comandos generales en el Manual de Debian Datos Q283834 Obtenido de https es wikipedia org w index php title Kill amp oldid 125915195, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos