Kapitel 24. Prozesse
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
24.0 Einleitung
Die Arbeit mit Systemprozessen ist ein natürlicher Aspekt der Systemadministration. Sie ist auch die Quelle der meisten magischen regulären Ausdrücke, die Systemadministratoren stolz machen. Wer würde sich nicht mit diesem Unix-Einzeiler brüsten, um alle Prozesse zu stoppen, die mehr als 100 MB Speicher benötigen:
ps -el | awk '{ if ( $6 > (1024*100)) { print $3 } }' | grep -v PID | xargs kill
Das ist zwar hilfreich, zeigt aber auch, wie anfällig die reine Textverarbeitung ist. Damit dieser Befehl erfolgreich ist, muss er:
-
Hänge den Befehl
ps
ab, um die Speichernutzung in Spalte 6 anzuzeigen -
Verlasse dich auf Spalte 6 der Ausgabe des
ps
Befehls, um den Speicherverbrauch in Kilobytes darzustellen -
Verlasse dich auf Spalte 3 der Ausgabe des
ps
Befehls, um die Prozess-ID darzustellen -
Entferne die Kopfspalte aus der Ausgabe des Befehls
ps
Der Befehl ps
hat zwar Parameter, die einen Teil dieser Arbeit vereinfachen, aber diese Form des "gebetsmühlenartigen Parsens" ist üblich, wenn man die Ausgabe von Tools bearbeitet, die nur Text produzieren.
Da das PowerShell-Cmdlet Get-Process
Informationen als hochstrukturierte .NET-Objekte zurückgibt, gehört das fragile Parsen von Text der Vergangenheit an:
Get-Process
|
Where-Object
{
$_
.
WorkingSet
-gt
100mb
}
|
Stop-Process
-WhatIf
Wenn du dich kurz fassen willst, ...
Get PowerShell Kochbuch, 4. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.