Provided by: manpages-pl-dev_20060617-3_all bug

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.