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.