killall - Prozesse anhand des Namens töten
ÜBERSICHT
killall [-Z, --context pattern]
[-e, --exact]
[-g, --process-group]
[-i, --interactive] [-n, --ns
PID] [-o, --older-than TIME]
[-q, --quiet] [-r, --regexp]
[-s, --signal
SIGNAL, -SIGNAL]
[-u, --user user]
[-v, --verbose] [-w, --wait]
[-y, --younger-than TIME]
[-I, --ignore-case]
[-V, --version] [--] name ...
killall -l
killall -V, --version
killall sendet ein Signal an alle Prozesse, die mit dem
angegebenen Befehl gestartet wurden. Wenn kein Signalname angegeben ist,
wird das Signal SIGTERM gesendet.
Signale können entweder als Name (zum Beispiel -HUP
oder -SIGHUP), als Nummer (zum Beispiel -1) oder durch die
Option -s angegeben werden.
Falls der Befehlsname kein regulärer Ausdruck ist (Option
-r) und einen Schrägstrich (/) enthält, werden
Prozesse, welche diese bestimmte Datei ausführen, zum Töten
vorgesehen, unabhängig von deren Namen.
killall gibt den Code 0 zurück, falls für
jeden der aufgelisteten Befehle mindestens ein Prozess getötet wurde,
oder es waren keine Befehle aufgelistet und mindestens ein Prozess entsprach
den mit -u und -Z angegebenen Suchkriterien. killall
gibt anderenfalls einen von Null verschiedenen Wert zurück.
Ein killall-Prozess tötet sich niemals selbst (aber
könnte von anderen killall-Prozessen getötet
werden).
- -e, --exact
- verlangt eine exakte Übereinstimmung für sehr lange Namen.
Falls der Befehlsname länger als 15 Zeichen ist, könnte der
vollständige Name nicht verfügbar sein (das heißt, er
ist ausgelagert). In diesem Fall tötet killall alles, was
mit den ersten 15 Zeichen übereinstimmt. Mit -e werden
solche Einträge übersprungen. killall gibt eine
Meldung für jeden übersprungenen Eintrag aus, falls
-v zusätzlich zu -e angegeben wird.
- -I,
--ignore-case
- ignoriert bei der Treffersuche die Groß- oder Kleinschreibung.
- -g,
--process-group
- tötet die Prozessgruppe, zu welcher der Prozess gehört. Das
Tötungssignal wird nur einmal pro Gruppe gesendet, selbst wenn in
der Prozessgruppe mehrere Prozesse gefunden wurden.
- -i,
--interactive
- bittet vor dem Töten interaktiv um Bestätigung.
- -l, --list
- listet alle bekannten Signalnamen auf.
- -n, --ns
- prüft anhand des PID-Namensraums der angegebenen PID auf
Übereinstimmungen. Standardmäßig wird die
Überprüfung auf alle Namensräume bezogen.
- -o,
--older-than
- prüft nur Prozesse auf Übereinstimmungen, die älter
als die angegebene Zeit sind, also vorher gestartet wurden. Die Zeit wird
als Fließkommazahl mit angehängter Einheit angegeben. Die
Einheiten sind s, m, h, d, w, M, y für Sekunden, Minuten, Stunden,
Tage, Wochen, Monate beziehungsweise Jahre.
- -q, --quiet
- beschwert sich nicht, falls keine Prozesse getötet wurden.
- -r, --regexp
- interpretiert das Prozessnamensmuster als erweiterten regulären
POSIX-Ausdruck gemäß regex(3).
- -s, --signal,
-SIGNAL
- sendet dieses Signal anstelle von SIGTERM.
- -u, --user
- tötet nur Prozesse, die dem angegebenen Benutzer gehören.
Befehlsnamen sind optional.
- -v, --verbose
- meldet, wenn das Signal erfolgreich gesendet wurde.
- -V, --version
- zeigt Versionsinformationen an.
- -w, --wait
- wartet auf die Beendigung aller getöteten Prozesse. killall
prüft einmal pro Sekunde, ob irgendeiner der getöteten
Prozesse noch existiert und liefert nur ein Ergebnis, falls keine Prozesse
mehr verblieben sind. Beachten Sie, dass killall unbegrenzt warten
könnte, falls das Signal ignoriert wurde, unwirksam war oder der
Prozess in einen Zombie-Zustand übergegangen ist.
- -y,
--younger-than
- prüft nur Prozesse auf Übereinstimmungen, die neuer als die
angegebene Zeit sind, also später gestartet wurden. Die Zeit wird
als Fließkommazahl mit angehängter Einheit angegeben. Die
Einheiten sind s, m, h, d, w, M, y für Sekunden, Minuten, Stunden,
Tage, Wochen, Monate beziehungsweise Jahre.
- -Z, --context
- Specify security context: kill only processes having security context that
match with given extended regular expression pattern. Must precede other
arguments on the command line. Command names are optional.
- /proc
- Ort des /proc-Dateisystems
Das Töten anhand des Dateinamens funktioniert nur
für ausführbare Programme, die während der
Ausführung offen gehalten werden, das heißt, unsaubere
ausführbare Programme können auf diese Weise nicht
getötet werden.
Seien Sie vorsichtig, wenn Sie killall Name
eingeben, weil dies auf Nicht-Linux-Systemen nicht die gewünschte
Wirkung haben könnte, insbesondere dann, wenn Sie es als
privilegierter Benutzer ausführen.
killall -w erkennt in aufeinanderfolgenden
Übrprüfungen nicht, ob ein Prozess beendet ist und durch einen
Prozess mit der gleichen PID ersetzt wurde.
Falls Prozesse ihren Namen ändern, könnte
killall diese nicht korrekt erkennen.
Für killall gibt es eine Begrenzung für die
Namen, die in der Befehlszeile angegeben werden können. Dies ist die
Größe einer vorzeichenlosen Ganzzahl, multipliziert mit 8.
Für die meisten 32-Bit-Systeme ist 32 die Begrenzung, analog dazu ist
sie bei 64-Bit-Systemen üblicherweise auf 64 begrenzt.