Rechercher une page de manuel
kill
Langue: pl
Version: 2001-12-18 (openSuse - 09/10/07)
Section: 2 (Appels système)
NAZWA
kill - wys³anie sygna³u do procesuSK£ADNIA
#include <sys/types.h>
#include <signal.h> int kill(pid_t pid, int sig);
OPIS
Funkcja systemowa kill mo¿e s³u¿yæ do przes³ania dowolnego sygna³u do dowolnego procesu lub do dowolnej grupy procesów.Je¶li pid ma warto¶æ dodatni±, to sygna³ sig jest przesy³any do procesu pid.
Je¶li pid jest równy 0, to sig jest przesy³any do wszystkich procesów nale¿±cych do tej samej grupy, co proces bie¿±cy.
Je¶li pid jest równy -1, to sygna³ jest przesy³any do wszystkich procesów, oprócz procesu nr 1 (init), szczegó³y poni¿ej.
Je¶li pid jest mniejszy ni¿ -1, to sygna³ jest przesy³any do wszystkich procesów nale¿±cych do grupy procesów o numerze -pid.
If sig jest równy 0, to nie jest przesy³any ¿aden sygna³, ale nadal jest wykonywana kontrola b³êdów.
WARTO¦Æ ZWRACANA
Po pomy¶lnym zakoñczeniu zwracane jest zero. Po b³êdzie zwracane jest -1 i odpowiednio ustawiane errno.B£ÊDY
- EINVAL
- Podano nieprawid³owy sygna³.
- ESRCH
- Pid lub grupa procesów nie istnieje. Nale¿y zauwa¿yæ, ¿e istniej±cy proces mo¿e byæ zombie, czyli procesem, który ju¿ pope³ni³ samobójstwo, lecz jeszcze na niego nie zaczekano ( wait ).
- EPERM
- Proces nie ma uprawnieñ do wys³ania sygna³u do któregokolwiek z otrzymuj±cych go procesów. Aby proces mia³ prawo wys³aæ sygna³ do procesu pid musi on mieæ uprawnienia roota albo rzeczywisty lub efektywny ID u¿ytkownika procesu wysy³aj±cego musi byæ równy rzeczywistemu ID lub zachowanemu set UID procesu otrzymuj±cego sygna³. W przypadku sygna³u SIGCONT wystarcza, aby procesy wysy³aj±cy i otrzymuj±cy nale¿a³y do tej samej sesji.
UWAGI
Nie mo¿na wysy³aæ sygna³u, dla którego nie ma zainstalowanego pogramu obs³ugi, do zadania numer 1, czyli procesu init. Zabezpiecza to przed przypadkowym za³amaniem systemu.POSIX 1003.1-2001 wymaga, aby kill(-1,sig) wysy³a³o sig do wszystkich procesów, do których aktualny proces mo¿e go wys³aæ, za ewentualnym wyj±tkiem pewnych, zdefiniowanych w implementacji, procesów systemowych. Linux pozwala procesowi wys³aæ sygna³ do samego siebie, ale wywo³anie kill(-1,sig) pod Linuksem nie powoduje wys³ania sygna³u do bie¿±cego procesu.
HISTORIA LINUKSA
W ró¿nych wersjach j±dra, Linux wymusza ró¿ne regu³y dotycz±ce uprawnieñ wymaganych od procesu nieuprzywilejowanego, aby móg³ on wys³aæ sygna³ do innego procesu. W j±drach od 1.0 do 1.2.2 sygna³ móg³ byæ wys³any, gdy efektywny identyfikator u¿ytkownika wysy³aj±cego jest taki sam, jak odbieraj±cego, lub gdy rzeczywisty identyfikator u¿ytkownika wysy³aj±cego jest taki sam, jak odbieraj±cego. Od j±dra 1.2.3 a¿ do 1.3.77, sygna³ móg³ byæ wys³any, gdy efektywny identyfikator u¿ytkownika wysy³aj±cego jest taki sam, jak efektywny lub rzeczywisty identyfikator u¿ytkownika odbieraj±cego. Obecne zasady, zgodnie z POSIX 1003.1-2001, zosta³y przyjête w j±drze 1.3.78.ZGODNE Z
SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3, POSIX 1003.1-2001ZOBACZ TAK¯E
_exit(2), killpg(2), signal(2), tkill(2), exit(3), signal(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre