Bluescreen ade

Aus LinuxUser 09/2000

Bluescreen ade

Prozesse verwalten und steuern

Heute schauen wir Linux unter die Motorhaube: Wie geht der Rechner mit Programmen um? Mit dem richtigen Knowhow sind Sie nicht mehr hilflos, wenn eine Anwendung abstürzt.

Wer kennt das nicht: Ein Windows-Programm hängt sich auf, und nichts geht mehr. Mit der Tastenkombination [Strg+Alt+Entf] öffnet sich der Task-Manager. Er zeigt dem Benutzer an, welche Programme gerade im Hauptspeicher residieren. Dazu liefert er Information über den Status der jeweiligen Anwendung.

Ist das Betriebssystem in Mitleidenschaft gezogen, wird es meist sehr ärgerlich, weil unter Umständen nur noch ein Neustart hilft. Ein weiterer Druck auf die drei Tasten macht die Arbeit der letzten halben Stunde zunichte.

So ein Datenverlust ärgert besonders, wenn nicht die Anwendung, mit der Sie arbeiten, sondern eine parallel laufende schuldig an dem Desaster ist. Unter Linux steigen Ihre Chancen ganz erheblich, Daten und somit Arbeit zu retten. Linux ist ein echtes Multitasking-System, das – auch wenn es nur mit einem Prozessor läuft – die Programme gleichberechtigt, aber getrennt behandelt. Starten Sie als Anwender ein Programm, wird es im Inneren des Rechners als Prozess verwaltet. Dabei lädt der Rechner (vereinfacht gesagt) eine Kopie des Programm-Codes in den Hauptspeicher. Dort kombiniert er ihn mit den Informationen über den Benutzer und den sogenannten Eltern-Prozess.

Jeder Prozess hat nicht nur einen Besitzer sondern auch einen übergeordneten Prozess, von dem er aufgerufen wurde. Starten sie beispielsweise im Netscape Navigator den Acrobat Reader, weil Sie ein PDF-Dokument lesen wollen, so gehört der Reader als Kind-Prozess zum Navigator. Nur der Prozess init der für den Systemstart verantwortlich ist, hat keinen Eltern-Prozess.

Geben Sie an der Kommandozeile top ein und sehen Sie sich die Ausgabe an:

Als erstes zeigt der Computer in diesem Beispiel an, dass 67 Prozesse geladen sind. Davon laufen drei, nämlich X (der X-Server) und top (das top-Programm) sowie kwm (der K-Window-Manager). Dies erkennen Sie an dem R in der Spalte STAT: R steht für “running”; S bedeutet “sleeping”. Es gibt, wie Sie sehen, noch mehr Zustände, aber diese beiden sind die wichtigsten.

In der dritten Zeile sehen Sie Angaben über die CPU, das Herzstück Ihres Computers, die vierte und fünfte Zeile geben Informationen über den Arbeits- und den Auslagerungsspeicher an. PID gibt die laufende Nummer des Prozesses an, die Sie in Zusammenhang mit dem kill-Befehl verwenden können (Beispiel: kill 1836 würde das top-Programm beenden).

Mit dem Befehl ps (process status) und den entsprechenden Optionen können Sie sich eine Vielzahl von Informationen über die einzelnen Prozesse, sortiert nach verschiedenen Kriterien, anzeigen lassen. Wir gehen an dieser Stelle nicht auf alle Details von ps ein. Schauen Sie in die Manual-Page (man ps an der Kommandozeile eingeben).

Allerdings ist die Kommandozeile nicht jedem vertraut, und deshalb zeigen wir Ihnen hier die grafischen Werkzeuge gtop und ktop sowie die Alternativen treeps und qps Mit diesen haben Sie die Prozess-Verwaltung gut im Griff.

Qps

Qps bietet ein übersichtliches Prozess-Management. Alle Anzeigen lassen sich über die Voreinstellungen aktivieren oder deaktivieren und auf die individuellen Bedürfnisse abstimmen. Prozesse können über einen Mausklick direkt angesteuert und bei Bedarf “gekillt” werden. In einer Grafik wird die Prozessor-Auslastung angezeigt; Balken stellen die Arbeitsspeicher- und Swap-Bereich-Belegung dar.

Mit Qps haben sie auch Arbeitsspeicher und Swapbereich im Blick.

Mit Qps haben sie auch Arbeitsspeicher und Swapbereich im Blick.

Die einzelnen Prozesse können entweder in einer linearen Sicht dargestellt werden oder aber in der Baumansicht, die sich besonders gut eignet um herauszufinden, welcher Prozess auf welchem aufsetzt.

Im Menü Signal finden Sie Einträge TerminateHangupInterrupt und Kill über die Sie die Signale SIGTERM, SIGHUP, SIGINT und SIGKILL an markierte Prozesse schicken können. Über Tastenkombinationen [Alt+T],[Alt+H] und [Alt+K] sind die wichtigsten auch ohne das Menü erreichbar.

In der Detailansicht bietet Qps Informationen über die Speicherbelegung.

In der Detailansicht bietet Qps Informationen über die Speicherbelegung.

Das Prozess-Management von Unix-Systemen bietet eine Vielzahl von Möglichkeiten, die hier nicht im einzelnen besprochen werden. Qps trägt diesen Möglichkeiten aber Rechnung und erlaubt somit einen komfortablen Umgang mit dem System.

treeps

Wer es schön bunt mag, ist bei treeps an der richtigen Adresse: Das Programm glänzt durch eine exquisite Auswahl an Farben, was aber die Funktionalität nicht einschränkt. Ein Klick mir der linken Maustaste auf einen Prozess zeigt dessen Daten an; ein Klick mit rechts öffnet ein Kontext Menü, das – sehr bequem – unter anderem die entsprechende Man-Page zu einem Progammm anbietet, wenn diese vorhanden ist.

treeps zeigt nur einen Prozessbaum, …

treeps zeigt nur einen Prozessbaum, …

Es steht nur die Baumansicht zur Verfügung. Unter Views/Tree Orientation/Starfield topology ordnet das Programm die Prozesse in konzentrischen Kreisen von innen nach außen an. Auch treeps bietet dem Benutzer die Möglichkeit, einzelne Prozesse gezielt abzuschießen. Dazu stehen unter dem Menüpunkt Processes/Signal die entsprechenden Befehle mit der zugehörigen Nummer zur Verfügung.

…der sich auch in konzentrischen Kreisen darstellen lässt

…der sich auch in konzentrischen Kreisen darstellen lässt

ktop

Das Programm ktop ist für den Linux-Einsteiger einfach zu bedienen. Die Baumansicht erinnert ein wenig an einen Dateimanager – nur, dass hier eben Prozesse gemanagt werden. Von der Funktionalität ist es einfacher gehalten als die übrigen Programme. So können hier über die Menüleiste nur die Signale SIGINT, SIGTERM, SIGQUIT und SIGKILL verschickt werden.

Übersichtlich und einfach gehalten erscheint ktop.

Übersichtlich und einfach gehalten erscheint ktop.

Der Benutzer wählt, wie bei den anderen Programmen, ob er sich alle, seine eigenen, die System- oder die User-Prozesse (solche, die von “echten” Anwendern und nicht vom System gestartet wurden) anzeigen lassen möchte. In übersichtlichen Balken-Diagrammen zeigt Ihnen ktop unter dem Tab Auslastungsanzeige Angaben zur Belegung der CPU und des Speichers. Hier können Sie die Belastung Ihres Rechner sehr gut über einen längeren Zeitraum verfolgen und speicher- oder rechenzeitfressende Anwendungen ausfindig machen.

Eine sinvolle Hilfe für Langzeitbeobachtungen ist die Auslastungsanzeige.

Eine sinvolle Hilfe für Langzeitbeobachtungen ist die Auslastungsanzeige.

gtop

Last but not least gibt es natürlich das entsprechende Tool für GNOME. Hier heißt es – wie könnte es anders sein – gtop. gtop bietet deutlich mehr Informationen als ktop, unter anderem zusätzliche Daten über die Belegung der Partitionen oder den Arbeitsspeicher.

gtop zeigt die Prozesse nur in der linearen Sicht an.

gtop zeigt die Prozesse nur in der linearen Sicht an.

Eine Baumansicht kann hier nicht gewählt werden. Damit ist dem Benutzer die schnelle Sicht auf Eltern-Kind-Abhängigkeiten versperrt. gtop richtet sich eher an den Spezialisten, der in der Vielzahl der Einstellungsmöglichkeiten nicht den Überblick verliert, sondern die für ihn günstigste Konfiguration herausarbeiten kann.

Übersichtlich präsentiert gtop die Belegung des Hauptspeichers

Übersichtlich präsentiert gtop die Belegung des Hauptspeichers

Fazit

Von der Funktionalität gibt es die Bandbreite von sehr einfach (ktop) bis umfassend konfigurierbar (gtop). Ob viele Möglichkeiten immer die besser Lösung sind, entscheiden Sie als Anwender allein. Unser Beispiel zeigt aber, dass es nicht immer die Mainstream-Produkte mit dem “g” oder “k” davor sein müssen.

Glossar

Multitasking-System

Ein Multitasking-System ist – im Gegensatz zu einem Singletasking-System – in der Lage, mehrere Prozesse zur gleichen Zeit abzuarbeiten. Steht dafür nur ein Prozessor zur Verfügung, wird die Prozessor-Zeit auf die verschiedenen Anwendungen aufgeteilt, so dass aufgrund der schnellen Zyklen der Eindruck von Parallelität entsteht. Linux ist insofern ein echtes Multitasking-System, da es knallhart die Prozess-Zeit verwaltet und keiner Anwendung erlaubt, die ganze Rechenzeit für sich zu beanspruchen.

kill

Der (in einer Konsole einzugebende) Befehl kill [-SIGNAL] [Nummer] sendet ein Signal an Prozess [Nummer], das diesem dann mitteilt, wie es sich beim Beenden verhalten soll. Mit SIGTERM (engl. signal termination) wird dem Prozess mitgeteilt, dass er sich beenden soll. Dieser versucht dann, noch offene Dateien zu schließen und beendet sich. SIGKILL (engl. signal kill) geht rabiater vor: Der entsprechende Prozess erhält keine Chance zum ordentlichen Ausstieg, sondern wird sofort beendet. Wird kein Signal angegeben, sendet kill das Standard-Signal SIGTERM. (Beispiel: kill -SIGTERM 987)

LinuxUser 09/2000 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben