Provided by:
manpages-es_1.55-10_all 
NOMBRE
kill - enviar una senal a un proceso
SINOPSIS
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
DESCRIPCI'ON
La llamada kill se puede usar para enviar cualquier senal a un proceso
o grupo de procesos.
Si pid es positivo, entonces la senal sig es enviada a pid. En este
caso, se devuelve 0 si hay exito, o un valor negativo si hay error.
Si pid es 0, entonces sig se envia a cada proceso en el grupo de
procesos del proceso actual.
Si pid es igual a -1, entonces se envia sig a cada proceso, excepto al
proceso 1 (init), vea mas abajo.
Si pid es menor que -1, entonces se envia sig a cada proceso en el
grupo de procesos -pid.
Si sig es 0, entonces no se envia ninguna senal pero todavia se realiza
la comprobacion de errores.
VALOR DEVUELTO
Si hay exito, se devuelve cero. Si hay error, se devuelve -1, y se
actualiza errno apropiadamente.
ERRORES
EINVAL Se especifico una senal invalida.
ESRCH El pid o grupo de procesos no existe. Notese que un proceso
existente podria ser un zombi, un proceso que ya ha sido
terminado, pero que aun no ha sido "wait()eado".
EPERM El proceso no tiene permiso para enviar la senal a alguno de los
procesos que la recibiran. Para que un proceso tenga permiso
para enviar una senal al proceso pid debe, o bien tener
privilegios de root, o bien el ID de usuario real o efectivo del
proceso que envia la senal ha de ser igual al set-user-ID real o
guardado del proceso que la recibe. En el caso de SIGCONT es
suficiente con que los procesos emisor y receptor pertenezcan a
la misma sesion.
OBSERVACIONES
Es imposible enviar una senal a la tarea numero uno, el proceso init,
para el que no ha sido instalado un manejador de senales. Esto se hace
para asegurarse de que el sistema no se venga abajo accidentalmente.
POSIX 1003.1-2001 requiere que la llamada kill(-1,sig) envie sig a
todos los procesos a los que el proceso actual puede mandar senales,
excepto posiblemente a algunos procesos del sistema definidos por la
implementacion. Linux permite a un proceso enviarse una senal a si
mismo, pero en Linux la llamada kill(-1,sig) no envia ninguna senal al
proceso actual.
HISTORIA DE LINUX
A lo largo de diferentes versiones del nucleo, Linux ha aplicado
diferentes reglas en torno a los permisos requeridos por un proceso no
privilegiado para enviar senales a otro proceso. En las versiones del
nucleo 1.0 a la 1.2.2, se podia enviar una senal si el identificador de
usuario efectivo del remitente coincidia con el del receptor, o el
identificador de usuario real del remitente coincidia con el del
receptor. Desde la version 1.2.3 a la 1.3.77, una senal podia ser
emitida si el identificador de usuario efectivo del remitente coincidia
con el identificador de usuario real o efectivo del receptor. Las
reglas actuales, que son conformes con POSIX 1003.1-2001, fueron
adoptadas en la version 1.3.78 del nucleo.
CONFORME A
SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3, POSIX 1003.1-2001
V'EASE TAMBI'EN
_exit(2), killpg(2), signal(2), tkill(2), exit(3), signal(7)