Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

kill(1)

getpid(2)

getsid(2)

setpgrp(2)

sigaction(2)

signal(2)

sigsend(2)

signal(5)

types(5)

kill(2)                                                             kill(2)

NAME
     kill - Signal an Prozeß oder Prozeßgruppe senden

SYNTAX
     #include <sys/types.h>
     #include <signal.h>

     int kill(pidt pid, int sig);

BESCHREIBUNG
     kill() sendet ein Signal an einen Prozeß oder an eine Gruppe von Pro-
     zessen. Der Prozeß oder die Gruppe von Prozessen, an die das Signal
     gesendet werden soll, wird durch pid angegeben. Das zu sendende Signal
     wird durch sig angegeben und ist entweder ein Signal von der in
     signal.h [siehe signal(5)] angeführten Liste oder 0. Wenn sig 0 (das
     Nullsignal) ist, erfolgt zwar die Fehlerprüfung, jedoch wird tatsäch-
     lich kein Signal geschickt. Dies kann zur Prüfung der Gültigkeit von
     pid verwendet werden.

     Bei XSI-konformen Systemen ist POSIXSAVEDIDS vom System gesetzt.
     Daher muß die reale oder effektive Benutzernummer des sendenden Pro-
     zesses mit der realen oder [von exec(2)] gesicherten Benutzernummer
     des empfangenden Prozesses übereinstimmen, wenn die effektive Benut-
     zernummer des sendenden Prozesses nicht diejenige des Systemverwalters
     ist, oder wenn sig SIGCONT ist und der sendende Prozeß die gleiche
     Sitzungskennung wie der empfangende Prozeß hat.

     Die Prozesse mit Prozeßnummer 0 und Prozeßnummer 1 sind spezielle
     Systemprozesse und werden nachstehend als proc0 bzw. proc1 bezeichnet.

     Wenn pid größer als Null ist, wird sig an den Prozeß geschickt, dessen
     Prozeßnummer pid ist. pid kann gleich 1 sein.

     Wenn pid negativ, aber nicht (pidt)-1 ist, wird sig an alle Prozesse
     gesendet, deren Prozeßgruppennummer gleich dem absoluten Wert von pid
     ist, und für die der Prozeß die Erlaubnis hat, ein Signal zu schicken.

     Wenn pid (pidt)0 ist, wird sig an alle Prozesse mit Ausnahme von
     proc0 bzw. proc1 geschickt, deren Prozeßgruppennummer gleich der Pro-
     zeßgruppennummer des Senders ist. Um ein Signal an eine Prozeßgruppe
     zu schicken, wird eine Erlaubnis benötigt.

     Wenn pid (pidt)-1 ist, und die effektive Benutzernummer des sendenden
     Prozesses nicht diejenige des Systemverwalters ist, wird sig an alle
     Prozesse mit Ausnahme von proc0 bzw. proc1 gesendet, deren reale
     Benutzernummer gleich der effektiven Benutzernummer des Absenders ist.

     Wenn pid (pidt)-1, ist und die effektive Benutzernummer des Absenders
     diejenige des Systemverwalters ist, wird sig an alle Prozesse mit Aus-
     nahme von proc0 bzw. proc1 gesendet.





Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

kill(2)                                                             kill(2)

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     kill() ist erfolglos, und kein Signal wird gesendet, wenn einer oder
     mehrere der nachstehenden Punkte zutreffen:

     EINVAL    sig ist keine gültige Signalnummer.

     EINVAL    sig ist SIGKILL und pid ist (pidt)1 (d. h. pid spezifiziert
               proc1).

     ESRCH     Kein Prozeß (oder Prozeßgruppe) kann gefunden werden, der
               dem von pid angegebenen Wert entspricht.

     EPERM     Die Benutzernummer des sendenden Prozesses ist nicht dieje-
               nige des Systemverwalters, und seine reale bzw. effektive
               Benutzernummer entspricht nicht der realen oder gesicherten
               Nummer des empfangenden Prozesses, und der aufrufende Prozeß
               sendet nicht gerade SIGCONT an einen Prozeß, der dieselbe
               Sitzungsnummer hat.

ERGEBNIS
     Nach erfolgreicher Beendigung wird 0 zurückgegeben. Andernfalls wird
     -1 zurückgegeben, und errno wird zur Anzeige des Fehlers gesetzt.

HINWEISE
     Mit sigsend() können Sie auf komfortablere Art Signale an Prozesse
     senden. Verwenden Sie daher sigsend() anstelle von kill().

SIEHE AUCH
     kill(1), getpid(2), getsid(2), setpgrp(2), sigaction(2), signal(2),
     sigsend(2), signal(5), types(5).




















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026