kill(1) kill(1)
NAME
kill - Signale an Prozesse senden
SYNTAX
kill [-s signal] prozessnummer ... Format 1a
kill [-signalnr] prozessnummer ... Format 1b
kill -s signal -- -gruppennummer ... Format 2
kill -l [zahl] Format 3
BESCHREIBUNG
Das Kommando kill sendet ein Signal an eine durch die Prozeßnummer
(PID) bestimmte Menge von Prozessen. Um die Prozeßnummer des Prozesses
zu erfahren, an den Sie ein Signal senden wollen, verwenden Sie das
Kommando ps(1).
OPTIONEN
Format 1a: Signale an Prozesse senden (nur Korn- oder XPG4-Shell)
kill [-s signal] prozessnummer ...
-s signal
Signal, das an die Prozesse gesendet werden soll. Sie geben
signal als symbolischen Namen an. Ein symbolischer Name ist die
Bezeichnung eines Signals entsprechend der Definition in der
Include-Datei <sys/signal.h>; das Präfix SIG wird allerdings
nicht angegeben. Zwischen Groß- und Kleinschreibung wird nicht
unterschieden. Die Liste dieser Namen können Sie sich mit der
Option -l ausgeben lassen. Für signal können Sie auch die Signal-
nummer als Zahl angeben.
Alle in der Include-Datei <sys/signal.h> definierten Signale kön-
nen angegeben werden. Folgende Signale sind auf Kommando-Ebene
von Bedeutung:
__________________________________________________________________
| Signal-Nr. | Symb. Name | Bedeutung |
|____________|_____________|______________________________________|
| 1 | SIGHUP | Verbindung zum Terminal unterbrechen|
| | | (hangup) |
|____________|_____________|______________________________________|
| 2 | SIGINT | Unterbrechen durch <DEL> (interrupt)|
|____________|_____________|______________________________________|
| 3 | SIGQUIT | Abbrechen (quit) |
|____________|_____________|______________________________________|
| 9 | SIGKILL | Unbedingter Prozeßabbruch (kill) |
|____________|_____________|______________________________________|
| 15 | SIGTERM | Programmbeendigung (software termi- |
| | | nation) |
|____________|_____________|______________________________________|
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
kill(1) kill(1)
-s signal nicht angegeben:
kill sendet das Signal SIGTERM(15) an die angegebenen Prozesse.
Dadurch werden Prozesse, die dieses Signal nicht abfangen oder
ignorieren, in der Regel abgebrochen.
-s signal entspricht der alten Bourne-Shell-Option -signal (vgl.
Format 1b und BEISPIELE), die weiterhin unterstützt wird.
prozessnummer
Nummer des Prozesses, an den Sie ein Signal senden wollen.
Benutzer ohne Systemverwalterrechte können nur an eigene Prozesse
Signale senden.
Der Systemverwalter kann Signale an alle Prozesse senden.
Die aktuellen Prozeßnummern gibt das Kommando ps aus.
0 als Prozeßnummer bedeutet: Das angegebene Signal wird an alle
Prozesse aus Ihrer Prozeßgruppe gesendet.
Format 1b: Signale an Prozesse senden
kill [-signalnr] prozessnummer ...
Siehe Format 1a, wobei sich -signalnr wie -s signal verhält.
Achtung:
Das externe Kommando /usr/bin/kill entspricht dem kill-Kommando der
Bourne-Shell, d. h. es erkennt nur die unter Format 1b angegebene Syn-
tax.
Format 2: Signale an Prozeßgruppen senden
kill -s signal -- -gruppennummer ...
-s signal
Signal, das an die Prozesse einer Prozeßgruppe gesendet werden
soll. Sie geben signal als symbolischen Namen an. Ein symboli-
scher Name ist die Bezeichnung eines Signals entsprechend der
Definition in der Include-Datei <sys/signal.h>; das Präfix SIG
wird allerdings nicht angegeben. Die Liste dieser Namen können
Sie sich mit der Option -l ausgeben lassen (siehe auch Format
1a).
-- Ende der Optionenliste. Die Angabe ist nötig, damit -gruppennum-
mer nicht als Option fehlinterpretiert wird.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
kill(1) kill(1)
-gruppennummer
kill sendet das Signal an alle Prozesse der Prozeßgruppe gruppen-
nummer.
Benutzer ohne Systemverwalterrechte können nur an eigene Prozeß-
gruppen Signale senden.
Der Systemverwalter kann Signale an alle Prozeßgruppen senden.
Wenn Sie für gruppennummer die Zahl 1 angeben, so wird signal an
alle Prozesse gesendet, deren realer Benutzer gleich dem effekti-
ven Benutzer des kill-Kommandos ist. Als privilegierter Benutzer
senden Sie das Signal an alle Prozesse, mit Ausnahme bestimmter
Systemprozesse.
Format 3: Symbolische Signalnamen auflisten
kill -l [zahl]
-l kill listet die symbolischen Signalnamen auf.
zahl Entspricht zahl dem Endestatus eines Prozesses, der durch ein
Signal abgebrochen wurde, so gibt kill den symbolischen Namen
dieses Signals aus. Trifft dies nicht zu und entspricht zahl
einer Signalnummer, so gibt kill den symbolischen Namen des Sig-
nals aus.
FEHLERMELDUNGEN
no such process
Sie haben für prozessnummer einen ungültigen Wert angegeben.
no such process group
Sie haben für gruppennummer einen ungültigen Wert angegeben.
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
LANG nicht oder als leere Zeichenkette definiert, verhält sich das
System so, als wäre es nicht internationalisiert.
BEISPIELE
Beispiel 1a (nur Korn- oder XPG4-Shell)
Der Prozeß mit der Nummer 312 wird durch das Signal SIGKILL(9) been-
det:
$ kill -s KILL 312 oder $ kill -s 9 312
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
kill(1) kill(1)
Beispiel 1b
Der Prozeß mit der Nummer 312 wird durch das Signal SIGKILL(9) been-
det:
$ kill -9 312
Beispiel 2
Die im Hintergrund laufenden find-Kommandos werden durch das an die
Nummer ihrer Prozeßgruppe gesendete Signal SIGTERM(15) beendet. Die
Shell (sh), die zu der gleichen Prozeßgruppe gehört, ignoriert stan-
dardmäßig das Signal SIGTERM.
$ ps
PID PGID SID TTY TIME COMD
13320 13278 13278 tty004 0:08 find
13324 13278 13278 tty004 0:00 ps
13278 13278 13278 tty004 0:01 sh
13322 13278 13278 tty004 0:04 find
$ kill -s TERM -- -13278
$ ps
PID PGID SID TTY TIME COMD
13336 13278 13278 tty004 0:00 ps
13278 13278 13278 tty004 0:01 sh
13320 Terminated
13322 Terminated
HINWEISE
kill existiert sowohl als externes Kommando (/usr/bin/kill) als auch
als eingebautes Shell-Kommando (Built-in), und zwar sowohl der Korn-
Shell ksh(1) wie auch der Bourne-Shell sh(1). Für die Ausführung von
/usr/bin/kill erzeugt die Shell einen neuen Prozeß.
DATEIEN
<sys/signal.h>
Include-Datei, in der die symbolischen Namen der Signale defi-
niert sind.
SIEHE AUCH
ksh(1), ps(1), sh(1), trap(1), xpg4sh(1), kill(2), signal(2),
signal(5).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98