KILLALL(1) | Dienstprogramme für Benutzer | KILLALL(1) |
BEZEICHNUNG
killall - Prozesse anhand des Namens töten
ÜBERSICHT
killall [-Z, --context Muster]
[-e, --exact]
[-g, --process-group]
[-i, --interactive] [-n, --ns
PID] [-o, --older-than ZEIT]
[-q, --quiet] [-r, --regexp]
[-s, --signal
SIGNAL, -SIGNAL]
[-u, --user Benutzer]
[-v, --verbose] [-w, --wait]
[-y, --younger-than ZEIT]
[-I, --ignore-case]
[-V, --version] [--] Name …
killall -l, --list
killall -V, --version
BESCHREIBUNG
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).
OPTIONEN
- -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
- gibt den Sicherheitskontext an: Es werden nur Prozesse getötet, deren Sicherheitskontext dem des Musters des angegebenen erweiterten regulären Ausdrucks entspricht. Dies muss anderen Argumenten in der Befehlszeile vorangestellt werden. Befehlsnamen sind optional.
DATEIEN
- /proc
- Ort des /proc-Dateisystems
BEKANNTE FEHLER
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.
SIEHE AUCH
kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).
17. Juni 2023 | psmisc |