www.digipedia.pl - manuale

KILL(2)

KILL(2) Podręcznik programisty Linuksa KILL(2)
Hey Emacs! This file is -*- nroff -*- source.
 
1999 PTM Przemek Borys Last update: A. Krzysztofowicz <ankry@mif.pg.gda.pl>, Apr 2003, manpages 1.55
 
Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
 
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
 
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one
 
Since the Linux kernel and libraries are constantly changing, this manual page may be incorrect or out-of-date. The author(s) assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. The author(s) may not have taken the same level of care in the production of this manual, which is licensed free of charge, as they might when working professionally.
 
Formatted or processed versions of this manual, if unaccompanied by the source, must acknowledge the copyright and authors of this work.
 
Modified by Michael Haardt (michael@moria.de) Modified by Thomas Koenig (ig25@rz.uni-karlsruhe.de) Modified Fri Jul 23 21:51:36 1993 by Rik Faith (faith@cs.unc.edu) Modified Sun Jul 25 10:53:24 1993 by Rik Faith (faith@cs.unc.edu) Modified Wed Nov 01 18:56:43 1995 by Michael Haardt (michael@cantor.informatik.rwth-aachen.de) Modified Sun Apr 14 17:04:32 1996 by Andries Brouwer (aeb@cwi.nl) [added some polishing contributed by Mike Battersby (mib@deakin.edu.au)] Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer (aeb@cwi.nl) Modified Fri Jan 17 23:49:46 1997 by Andries Brouwer (aeb@cwi.nl) Modified Tue Dec 18 10:53:02 2001 by Andries Brouwer (aeb@cwi.nl) Modified, 24 Jul 2002, Michael Kerrisk <mtk16@ext.canterbury.ac.nz> Added note on historical rules enforced when an unprivileged process sends a signal.
 

NAZWA

kill - wysłanie sygnału do procesu

SKŁADNIA

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

OPIS

Uwaga! To tłumaczenie może być nieaktualne!

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. In the 0.* kernels things chopped and changed quite a bit - MTK, 24 Jul 02 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-2001

ZOBACZ TAKŻE

_exit(2), killpg(2), signal(2), tkill(2), exit(3), signal(7)

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man --locale=C 2 kill

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.

2001-12-18 Linux 2.5.0