Linguaggio C - kill()

NOME

kill() - invia un segnale ad un processo

SINOPSI

#include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig);

DESCRIZIONE

Tramite la system call kill() e' possibile inviare un segnale ad un process group o ad un processo.

Se il pid e':
> 0 il segnale sig e' inviato al processo avente il pid uguale a pid.
0 il segnale sig e' inviato ad ogni processo nel process group del processo corrente.
-1 il segnale sig e' inviato ad ogni processo eccetto per il primo. L'ordine di invio del segnale va dal processo che ha il pid piu' grande nella tabella dei processi, a quello avente il pid piu' piccolo.
< -1 il segnale e' inviato a ogni processo che ha il process group uguale al valore assoluto del pid.

Se sig e' 0, il segnale non viene inviato, ma viene fatta ugualmente una ricerca degli errori. Cio' e' utile per verificare se un pid e' associato a qualche processo.

Il processo che invia il segnale e i processi che lo ricevono, devono avere lo stesso user ID effettivo, a meno che a inviare il segnale sia il super-utente.

VALORE DI RITORNO

In caso di successo, kill() ritorna 0.
In caso di errore, viene ritornato -1 e la variabile errno e' settata con il codice di errore.

NOTA

Non e' possibile inviare segnali al processo avente pid numero 1. Questo processo speciale e' il processo init chiamato all'inizializzazione del sistema ed e' il padre di tutti i processi.
Questo garantisce che init non venga terminato accidentalmente a causa dell'invio di un segnale, fermando l'intero sistema.

CONFORME A

SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3

VEDI ANCHE

alarm() killpg() pause() signal() sleep() wait()


Indice-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C