Solaris CDE Benutzerhandbuch

Kapitel 19 Verwenden des Prozess-Managers

Der Prozess-Manager ermöglicht es, die auf Ihrer Workstation ausgeführten Prozesse anzuzeigen und darauf Aktionen auszuführen. Hierzu brauchen Sie die Syntax für ps(1), truss(1), kill(1)und andere zeichenorientierte Befehle nicht zu kennen. Gegebenenfalls werden für die einzelnen Aktionen von Prozess-Manager die entsprechenden UNIX-Befehle angegeben.

Info über Prozesse

UNIX arbeitet mit Prozessen. Ihre Anmelde-Shell, Anwendungsprogramme, die gerade ausgeführte Bearbeitungssitzung und sogar das Programm ls zur Auflistung Ihrer Dateien laufen unter der Steuerung der Betriebsumgebung.

UNIX ermöglicht es, Operationen für diese Prozesse auszuführen. Sie können sich beispielsweise jederzeit alle gerade laufenden Programme anzeigen lassen, einzelne Programme beenden oder neu starten und Fehlersuchfunktionen auf fehlerhafte Prozesse ausführen.

Tipps zum Auffinden fehlerhafter Prozesse

Ein Prozess ist fehlerhaft, wenn er seine Aufgabe nicht erwartungsgemäß durchführt. Dies äußert sich dann beispielsweise darin, dass ein Prozess aufgrund eines Fehlers einen hohen Prozentsatz der verfügbaren Ressourcen verbraucht oder Konflikte mit anderen Prozessen verursacht. Mit dem Prozess-Manager können Sie fehlerhafte Prozesse ermitteln, wenn eine der folgenden Situationen auftritt:

Die vom Prozess-Manager angezeigte Liste der laufenden Prozesse enthält im Normalfall zwischen dreißig und fünfzig Prozesse. Darin die fehlerhaften Prozesse zu erkennen, ist für ungeübte Benutzer nicht immer einfach. Die folgenden Hinweise können Ihnen die Aufgabe erleichtern (ansonsten wenden Sie sich an Ihren Systemverwalter):

Protokollieren, Anzeigen und Speichern von Prozess-Informationen

Der Prozess-Manager ermöglicht die Anzeige und den Zugriff auf Prozesse, die auf Ihrer Workstation ausgeführt werden.

Abbildung 19–1 Anzeige von Einträgen mit der Zeichenkette "audio“ in Prozess-Manager.

Graphic

Die Prozesseinträge der Liste enthalten nützliche Informationen, die in der folgenden Tabelle erläutert werden:

 Spaltenüberschrift Bedeutung
 ID Prozess-ID
 Name Prozessname
 Eigentümer Name des Eigentümers
 CPU% Prozentualer Anteil der vom Prozess zuletzt beanspruchten CPU-Zeit im Verhältnis zur gesamten zu diesem Zeitpunkt verfügbaren CPU-Zeit
 RAM Momentan von diesem Prozess belegter Anteil am RAM-Speicher
 Swap Gesamtgröße des virtuellen Speichers
 Start Tatsächlicher Startzeitpunkt (oder Datum, wenn der Start mehr als einen Tag zurückliegt)
 Übergeordnet Prozess-ID des übergeordneten Prozesses, oder PPID
 Befehl Tatsächlich ausgeführter UNIX-Befehl (abgeschnitten)

Sie können die folgenden Aktionen ausführen, ohne die auf der Workstation laufenden Prozesse zu beeinträchtigen:

So öffnen Sie den Prozess-Manager

    Klicken Sie auf das Bedienelement "Prozess suchen“ im zusätzlichen Steuerbereich "Tools“ des vorderen Steuerbereichs.

    Das Hauptfenster des Prozess-Managers wird geöffnet. Der Prozess-Manager beginnt sofort mit dem Abtasten der Workstation und zeigt alle aktuell ausgeführten Prozesse an.

So zeigen Sie Teilmengen von Prozessen an

  1. Geben Sie in das Feld "Filter“ des Prozess-Manager-Fensters den gewünschten Filtertext ein.

    Verwenden Sie als Filtertext eine Zeichenkette, die allen Prozesseinträgen der Teilmenge oder Gruppen von Prozessen gemeinsam ist, die Sie sich anzeigen lassen möchten. Das Beispiel in Abbildung 19–1 zeigt die Anzeige aller Prozesse, die sich auf die Anwendung Audio beziehen.

  2. Drücken Sie die Eingabetaste.

    Der Prozess-Manager aktualisiert die Anzeige der Prozesse im Rollbereich, so dass dieser nur noch diejenigen Einträge enthält, die dem Filtertext entsprechen.

  3. Wenn Sie wieder alle Prozesse anzeigen möchten, löschen Sie das Feld "Filter“ und drücken danach die Eingabetaste.

So suchen Sie nach einem Prozess

  1. Geben Sie den Suchtext in das Dropdown-Fenster "Suchen“ ein, oder wählen Sie aus dieser Dropdown-Liste einen zuvor verwendeten Suchtext aus.

    Verwenden Sie als Suchtext eine Zeichenkette, die allen anzuzeigenden Prozesseinträgen gemeinsam ist.

  2. Drücken Sie die Eingabetaste, um das erste Vorkommen des Suchtextes unterhalb der aktuellen Cursorposition hervorzuheben.

    Der Text kann sich in jedem der Felder des Prozesseintrags befinden.

  3. Durch erneutes Drücken der Eingabetaste wird das jeweils nächste Vorkommen hervorgehoben.

  4. Wenn Sie den gewünschten Prozesseintrag gefunden haben, löschen Sie das Feld "Suchen“.


    Hinweis –

    Wenn Sie am Ende des Bildlaufbereichs angelangt sind, wird der Vorgang nicht am Beginn der Liste fortgesetzt. Um sicherzustellen, dass Sie wirklich alle Prozesse durchsuchen, müssen Sie daher den ersten Prozesseintrag in der Liste auswählen, bevor Sie den Suchtext in das Feld "Suchen“ eingeben.


So ändern Sie die Sortierfolge der Anzeige

Standardmäßig erfolgt die Anzeige der Prozesse im Prozess-Manager in der Reihenfolge ihrer CPU-Belastung, beginnend mit der höchsten Belastung. Sie erkennen dies daran, dass die Überschrift der Spalte CPU-Belastung (CPU%) aktiviert ist, die anderen Spaltenüberschriften dagegen nicht.

  1. Wenn Sie die Anzeige nach den Werten einer anderen Spalte sortieren möchten, klicken Sie auf die entsprechende Spaltenüberschrift, oder wählen Sie den Spaltennamen im Menü "Ansicht“ aus.

    Der Prozess-Manager aktualisiert dann die Anzeige entsprechend den neuen Kriterien. Die nachstehende Tabelle enthält die Standard-Sortierfolge für jede Spalte.

    Tabelle 19–1 Standardmäßige Sortierfolge für die Anzeige der Prozesseinträge
     Ausgewählte Spaltenüberschrift Methode
     ID Numerisch nach Prozess-ID in aufsteigender Reihenfolge
     Name Alphabetisch nach Prozessnamen
     Eigentümer Alphabetisch nach Eigentümernamen
     CPU% Numerisch nach CPU-Belastung in absteigender Reihenfolge
     RAM Numerisch nach RAM-Belastung in absteigender Reihenfolge
     Swap Numerisch nach Nutzung des Auslagerungsbereichs in absteigender Reihenfolge
     Start Chronologisch nach tatsächlicher Startzeit in absteigender Reihenfolge
     Übergeordnet Numerisch nach Prozess-ID des übergeordneten Prozesses in absteigender Reihenfolge
     Befehl Alphanumerisch nach vollständigem Pfadnamen in absteigender Reihenfolge (Sonderzeichen wie "/" haben niedrigere Sortierwerte als Buchstaben)

  2. (Optional) Um die Sortierfolge für eine dieser Spalten umzukehren (z. B. nach RAM-Verwendung in aufsteigender Reihenfolge), klicken Sie auf die aktivierte Spaltenüberschrift-Schaltfläche.

    Der Bereich der Spaltenüberschrift wird dann schwarz dargestellt, und die Anzeige erfolgt in umgekehrter Sortierfolge.

    Graphic

So ändern Sie das Abtastintervall

Standardmäßig erfolgt die Abfrage der Workstation und die Aktualisierung der Anzeige im Prozess-Manager alle 30 Sekunden.

    Um die ständige Abtastung zu deaktivieren bzw. zu aktivieren, wählen Sie im Menü "Abtasten“ den Befehl "Stop“ bzw. "Start“.

    Wenn die fortlaufende Abtastung aktiviert ist, steht im Menü "Abtasten“ der Befehl "Stop“ zur Verfügung. Andernfalls enthält das Menü den Befehl "Start“.

    Um das Intervall zwischen den Abtastvorgängen zu ändern, geben Sie in das Feld "Sample Every“ die Anzahl der Sekunden ein (der Maximalwert beträgt 604800, d. h. 14 Tage).

    Drücken Sie die Eingabetaste, damit die neue Intervall-Einstellung wirksam wird.

    Um sofort abzutasten, wählen Sie "Jetzt“ aus dem Menü "Abtasten“.

    Daraufhin führt der Prozess-Manager die Abtastung sofort durch und aktualisiert die Anzeige.

Kopieren und Speichern

Sie können einen oder mehrere der angezeigten Prozesseinträge auswählen, kopieren und danach als Text in anderen Anwendungen einfügen.

Darüber hinaus können Sie die erfassten Daten mit einer der folgenden Funktionen auch als Datei speichern:

Aktuell abgetastete Werte in einer neuen Datei speichern.

  1. Wählen Sie "Sichern als“ aus dem Menü "Abtasten“.

    Das Dialogfenster "Sichern als“ des Prozess-Managers wird geöffnet.

  2. Geben Sie den Namen und die Position für die neue Datei ein, und klicken Sie auf "OK“.

    Der Prozess-Manager erstellt eine Textdatei mit den Prozesseinträgen der aktuellen Anzeige.

So richten Sie eine Protokolldatei ein

  1. Wählen Sie "Protokolldatei“ aus dem Menü "Abtasten“.

    Das Dialogfenster "Protokolldatei“ des Prozess-Managers wird geöffnet.

  2. Geben Sie den Namen und die Position für die neue Datei ein, und klicken Sie auf "OK“.

    Der Prozess-Manager erstellt die Datei und hängt alle neuen Abtastwerte (mit Kopfzeileninformationen) daran an.


    Achtung – Achtung –

    Die Protokollierung in diese Datei wird so lange fortgesetzt, bis Sie entweder den Prozess-Manager beenden oder "Protokollierung beenden“ aus dem Menü "Abtasten“ wählen.


Ausführen von Aktionen auf einen ausgewählten Prozess

Wenn Sie in der Liste einen Prozess identifiziert und ausgewählt haben, können Sie darauf die folgenden Aktionen ausführen:


Achtung – Achtung –

Wenden Sie sich an Ihren Systemverwalter, wenn Sie sich über die Folgen einer dieser Prozeduren nicht im klaren sind.


Senden von Abbruchsignalen an einen Prozess

Der kill-Befehl in UNIX ermöglicht es Ihnen, ein Signal an einen Prozess zu senden. Ein Signal ist eine Nachricht, die den Prozess unterbricht und zu einer Antwort auffordert. Falls der Prozess entsprechend programmiert ist, beantwortet er die Signale, andernfalls wird er beendet. In der folgenden Tabelle sind einige häufig verwendete Signalzahlen/-namen und ihre Bedeutung auzfsgeführt.

 Signal-Nr. Signalname Bedeutung
 1  HUP Hangup (häufig vor dem Abmelden verwendet)
 2  INT Interrupt (identisch mit dem Drücken von STRG+C in einer Terminalsitzung)
 9  KILL

Kill (beendet den Prozess ohne Bereinigung) 

Funktioniert nur, wenn es vom Eigentümer des Prozesses oder vom Superuser (root) gesendet wird 

Das Programm kann auf dieses Signal nicht antworten, sondern muss beendet werdensondern muss beendet werden.  

 15  TERM

Kill (Geordnetes Beenden des Prozesses mit vorheriger Bereinigung) 

Funktioniert nur, wenn es vom Eigentümer des Prozesses oder vom Superuser (root) gesendet wird 

Das Menü "Abbrechen“ ermöglicht den schnellen Abbruch eines Prozesses durch Senden eines kill-Signals (9). Das Menü "Signal“ bietet Ihnen eine umfassendere Kontrolle des durch den Befehl kill(1) gesendeten Signals. Damit erhalten Sie beispielsweise die Möglichkeit, das Signal INT oder HUP usw. zu senden.


Achtung – Achtung –

Senden Sie nur dann ein Signal an einen Prozess, wenn Sie alle Folgen genau kennen. Wenn Sie beispielsweise die Login-Shell auswählen und ihr ein kill-Signal senden, werden sie plötzlich abgemeldet. Weitere Informationene rhalten Sie von Ihrem Systemadministrator oder aus dem Advanced User's and System Administrator's Guide (Sun Microsystems).


So brechen Sie einen Prozess ab (sofortiger Abbruch)

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Abbrechen“ aus dem Menü "Prozess“.

    Prozess-Manager bricht den Prozess (und alle untergeordneten Prozesse) ab, sofern Sie über die entsprechenden Zugriffsrechte verfügen. Andernfalls wird eine Fehlermeldung angezeigt. In einzelnen Fällen kann es einige Sekunden dauern, bis der Prozess beendet wird. Sie können erkennen, ob ein Prozess abgebrochen wurde, wenn er bei der nächsten Aktualisierung der Anzeige im Prozess-Manager nicht in der Liste der Prozesse enthalten ist.


    Tipp –

    Der entsprechende UNIX-Befehl lautet:

    kill -9 PID, wobei PID die Prozess-ID des gewõhlten Prozesses ist.

    Sie können den Befehl, der bei der Auswahl des Menüs "Abbrechen“ ausgeführt wird, auch umdefinieren, indem Sie die Zuordnung der Aktion "Kill“ in der folgenden Datei ändern:

    /usr/dt/appconfig/types/C/sdtprocess.dt


So senden Sie ein Signal an einen Prozess

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Signal“ aus dem Menü "Prozess“.

    Prozess-Manager öffnet ein Dialogfenster, in dem Sie zur Angabe des Signals aufgefordert werden. Sie müssen mindestens eines der 42 auf der Man Page signal(5) definierten Signale eingeben.

  3. Geben Sie die entsprechende Signalnummer ein, und klicken Sie auf "OK“.

    Prozess-Manager sendet den Signalbefehl an den Prozess und schließt das Dialogfenster. Es wird keine Erfolgsmeldung ausgegeben. In der Regel werden die untergeordneten Prozesse des abgebrochenen Prozesses ebenfalls abgebrochen.


Tipp –

Der entsprechende UNIX-Befehl lautet: kill -signum_name PID

Hierbei ist -signum_name die Signalnummer oder der Signalname und PID die Prozess-ID des gewõhlten Prozesses.


So ermitteln Sie den Eigentümer eines Prozesses

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Eigentümer suchen“ aus dem Menü "Prozess“.

    Prozess-Manager öffnet den Adressen-Manager und beauftragt diesen mit der Suche der Systemkarten für den Systembenutzernamen des gewählten Prozesses. Weitere Informationen über den Adressen-Manager finden Sie in Kapitel 18.

So zeigen Sie die Vorgänger eines Prozesses an

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Verlauf anzeigen“ aus dem Menü "Prozess“.

    Prozess-Manager zeigt die Prozess-Baumstruktur des angegebenen Prozesses in einem Fenster an. Untergeordnete Prozesse werden gegenüber den entsprechenden übergeordneten Prozessen eingerückt dargestellt.

    Graphic

Tipp –

Der entsprechende UNIX-Befehl lautet:

/usr/proc/bin/ptree PID

Hierbei ist PID die Prozess-ID des gewählten Prozesses.


So verfolgen Sie einen untergeordneten Prozess nach

Wenn ein UNIX-Prozess einen oder mehrere abhängige Prozesse auslöst, werden diese als abhängige Prozesse oder Kindsprozesse bezeichnet. Unter- und übergeordnete Prozesse besitzen dieselbe Benutzer-ID.

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Untergeordnete Prozesse verfolgen“ aus dem Menü "Prozess“.

    Prozess-Manager zeigt einen Eintrag zur Erstellung aller neuen untergeordneten Prozesse (bzw. deren untergeordneten Prozesse usw.) für den gewählten Prozess an.

    Zurückgegebene Fehler werden mit den auf der Man Page Intro(2) aufgezeichnet.


    Tipp –

    Der entsprechende UNIX-Befehl lautet:

    truss -fa -texec,fork -s¦CLD,ALRM -p PID

    Hierbei ist PID die Prozess-ID des gewählten Prozesses.


So verfolgende Sie Systemaufrufe nach

Ein Prozess führt während seiner Ausführung Aufrufe auf den UNIX-Systemkern oder Systemaufrufe aus. Unter Umständen möchten Sie diese Systemaufrufe nachverfolgen, um Aufschluss über ihren Einfluss auf andere Prozesse zu erhalten.

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Systemaufrufe verfolgen“ aus dem Menü "Prozess“.

    Prozess-Manager öffnet ein Dialogfenster, in dem Sie zur Angabe der optionalen Argumente aufgefordert werden.

  3. Klicken Sie auf "OK“.

    Jede Zeile des Ablaufprotokolls enthält entweder den Fehler- oder Signalnamen oder den Namen des Systemaufrufs mit seinen Argumenten und Rückgabewerten. Weitere Informationen finden Sie auf der Man Page truss(1) .


Tipp –

Der entsprechende UNIX-Befehl lautet:

truss -p PID

Hierbei ist PID die Prozess-ID des gewählten Prozesses.


So zeigen Sie den Stapel für einen Prozess an

  1. Wählen Sie einen Prozesseintrag im Bildlaufbereich des Prozess-Managers aus.

  2. Wählen Sie "Stapel anzeigen“ aus dem Menü "Prozess“.

    Prozess-Manager öffnet ein Fenster, in dem das Stapelprotokoll für den gewählten Prozess in hexadezimaler und symbolischer Form angezeigt wird.


Tipp –

Der entsprechende UNIX-Befehl lautet:

/usr/proc/bin/pstack PID

Hierbei ist PID die Prozess-ID des gewählten Prozesses.


So beheben Sie Fehler in einem Prozess

Anwendungsentwickler verwenden manchmal Fehlersuchprogramme wie Sun Workshop, um einen fehlerhaften Prozess zu untersuchen. Der Befehl "Fehlersuche“ des Menüs "Prozess“ ruft Ihr bevorzugtes Fehlersuchprogramm auf.

    Beseitigen Sie Fehler mit Ihrem bevorzugten Fehlersuchprogramm.


Tipp –

Der entsprechende UNIX-Befehl lautet:

workshop -d command

Hierbei ist workshop der Name des Fehlersuchprogramms und befehl der Befehl, der zur Übergabe der Prozess-ID an das Fehlersuchprogramm benötigt wird.