Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
kill - wyslanie sygnalu do procesu
SK/LADNIA
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
OPIS
Funkcja systemowa kill moe sluy do przeslania dowolnego sygnalu do
dowolnego procesu lub do dowolnej grupy procesow.
Jeli pid ma warto dodatni, to sygnal sig jest przesylany do procesu
pid.
Jeli pid jest rowny 0, to sig jest przesylany do wszystkich procesow
nalecych do tej samej grupy, co proces biecy.
Jeli pid jest rowny -1, to sygnal jest przesylany do wszystkich
procesow, oprocz procesu nr 1 (init), szczegoly poniej.
Jeli pid jest mniejszy ni -1, to sygnal jest przesylany do wszystkich
procesow nalecych do grupy procesow o numerze -pid.
If sig jest rowny 0, to nie jest przesylany aden sygnal, ale nadal jest
wykonywana kontrola bldow.
WARTO ZWRACANA
Po pomylnym zakoczeniu zwracane jest zero. Po bldzie zwracane jest -1 i
odpowiednio ustawiane errno.
B/LDY
EINVAL Podano nieprawidlowy sygnal.
ESRCH Pid lub grupa procesow nie istnieje. Naley zauway, e istniejcy
proces moe by zombie, czyli procesem, ktory ju popelnil
samobojstwo, lecz jeszcze na niego nie zaczekano ( wait ).
EPERM Proces nie ma uprawnie do wyslania sygnalu do ktoregokolwiek z
otrzymujcych go procesow. Aby proces mial prawo wysla sygnal do
procesu pid musi on mie uprawnienia roota albo rzeczywisty lub
efektywny ID uytkownika procesu wysylajcego musi by rowny
rzeczywistemu ID lub zachowanemu set UID procesu otrzymujcego
sygnal. W przypadku sygnalu SIGCONT wystarcza, aby procesy
wysylajcy i otrzymujcy nalealy do tej samej sesji.
UWAGI
Nie mona wysyla sygnalu, dla ktorego nie ma zainstalowanego pogramu
obslugi, do zadania numer 1, czyli procesu init. Zabezpiecza to przed
przypadkowym zalamaniem systemu.
POSIX 1003.1-2001 wymaga, aby kill(-1,sig) wysylalo sig do wszystkich
procesow, do ktorych aktualny proces moe go wysla, za ewentualnym
wyjtkiem pewnych, zdefiniowanych w implementacji, procesow systemowych.
Linux pozwala procesowi wysla sygnal do samego siebie, ale wywolanie
kill(-1,sig) pod Linuksem nie powoduje wyslania sygnalu do biecego
procesu.
HISTORIA LINUKSA
W ronych wersjach jdra, Linux wymusza rone reguly dotyczce uprawnie
wymaganych od procesu nieuprzywilejowanego, aby mogl on wysla sygnal do
innego procesu. W jdrach od 1.0 do 1.2.2 sygnal mogl by wyslany, gdy
efektywny identyfikator uytkownika wysylajcego jest taki sam, jak
odbierajcego, lub gdy rzeczywisty identyfikator uytkownika wysylajcego
jest taki sam, jak odbierajcego. Od jdra 1.2.3 a do 1.3.77, sygnal
mogl by wyslany, gdy efektywny identyfikator uytkownika wysylajcego
jest taki sam, jak efektywny lub rzeczywisty identyfikator uytkownika
odbierajcego. Obecne zasady, zgodnie z POSIX 1003.1-2001, zostaly
przyjte w jdrze 1.3.78.
ZGODNE Z
SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3, POSIX 1003.1-2001
ZOBACZ TAKE
_exit(2), killpg(2), signal(2), tkill(2), exit(3), signal(7)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.