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
psab, um die Speichernutzung in Spalte 6 anzuzeigen -
Verlasse dich auf Spalte 6 der Ausgabe des
psBefehls, um den Speicherverbrauch in Kilobytes darzustellen -
Verlasse dich auf Spalte 3 der Ausgabe des
psBefehls, 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-gt100mb}|Stop-Process-WhatIf
Wenn du dich kurz fassen willst, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access