# Das &kpm;-Handbuch

Morgan
N.
Sandquist

    morgan@pipeline.com

Mario
Weilguni

    mweilguni@kde.org

Mario
Weilguni

    mweilguni@kde.org

Entwickler
Mattias
Engdegård

    f91-men@nada.kth.se

Entwickler
Lauri
Watts

    vampyr@atconnex.net

Korrektur
Gregor
Zumstein
Deutsche Übersetzung

    zumstein@ssd.ethz.ch

2000
Morgan N. Sandquist
&FDLNotice;
2000-12-14
2.00.00
KDE
kdeadmin
kpm
Prozessmanager
top

&kpm; ist ein Dienstprogramm, das Informationen über Prozesse liefert und sie verwalten kann.

## Einführung

Das Dienstprogramm &kpm; zeigt unter Linux die Prozesse an und erlaubt, deren Parameter zu verändern. Weiterhin werden genaue Angaben über die laufenden Prozesse und die Systemressourcen angezeigt (z.B. die Auslastung des Prozessors, des Speichers, der Auslagerungsdatei oder die Gesamtlaufzeit des Systems, etc.). Mit &kpm; können Sie Prozesse beenden und ihre Priorität bei der Zuteilung von Prozessorzeit anpassen. Der Super-User (root) kann zusätzlich Änderungen des Prozess-Ablaufplans (scheduling) vornehmen.

&kpm; beruht weitestgehend auf Mattias Engdegårds Programm qps. Der Hauptunterschied zwischen &kpm; und qps besteht in der Verwendung der KDE-Oberfläche. &kpm; ist konform mit den meisten KDE Standards: Einstellungen werden durch KDE-typische Konfigurationsdateien vorgenommen und das Programm besitzt Sitzungsmanagement. Einige Eigenschaften von qps wurden jedoch entfernt, z.B. die Möglichkeit, Arttabellen des Mac OS7 oder besondere Ankreuz-Elemente anzeigen zu lassen.

## Benutzung von &kpm;

### &kpm; Programmstart

Beim Start zeigt &kpm; Auslastung, CPU-Nutzung, Speichernutzung, Nutzung der Auslagerungsdatei und Gesamtlaufzeit des Systems sowie eine zusammengefasste Ansicht der Prozesse an.

&kpm; nach dem Start.
&kpm; nach dem Start.

#### Erläuterungen zu den Anzeigefeldern

&kpm; mit der Textanzeige.
&kpm; mit der Textanzeige

##### Auslastungsanzeige

Die Auslastungsanzeige zeigt die durchschnittliche Systemauslastung grafisch an. Genaue Zahlen erscheinen, wenn auf das Feld Auslastungsanzeige geklickt wird.

##### CPU-Anzeige

Die cpu-Anzeige zeigt in Prozenten die CPU-Ressourcen an, die von Benutzer-, nice- und System-Prozessen verwendet werden, sowie die Leerl. (nicht verwendeten) Ressourcen. Klicken Sie auf die CPU-Anzeige, um auf Textanzeige mit exakten Prozentwerten umzuschalten.

##### Speicheranzeige

Die Speicher-Anzeige zeigt den genutzten Speicher an. Die Anzeige ist unterteilt in gebr.(gebraucht), Puffer-, zwi (zwischengespeicherter) und freien Speicher. Klicken Sie auf Spei, um die Anzeige auf exakte Zahlen (in Megabyte) einschließlich der Gesamtspeichermenge umzuschalten.

##### Auslagerungsspeicheranzeige

Die swap-Anzeige zeigt den Anteil des genutzten Auslagerungsspeichers. Klicken Sie auf swap, um auf eine Textanzeige mit der exakten Menge in Megabyte umzuschalten. Außerdem wird die Gesamtmenge an Auslagerungsspeicher angezeigt.

##### Gesamtlaufzeit des Systems

Die läuft-seit-Anzeige zeigt an, wie lange das System bereits läuft.

#### Prozessliste

In der Standardeinstellung zeigt die Prozessliste die Benutzerfelder aller Prozesse an. Sie kann auch so eingestellt werden, dass sie nur eigene Prozesse, Nicht-Root-Prozesse oder alle laufenden Prozesse anzeigt. Außer den Benutzerfeldern können auch die Programm- oder Speicherfelder angezeigt werden. Schließlich ist es auch möglich, eine selbst zusammengestellte Felderliste anzeigen zu lassen. Ein Klick auf einen Spaltenkopf sortiert die Prozessliste nach dieser Spalte. Ein zweiter Klick auf die gleiche Spalte kehrt die Sortierreihenfolge um.

##### Benutzerfelder

PID

  Prozess-ID. Jedem Prozess wird eine eigene Prozess-Identifikations-Nummer (PID) zugeordnet. Diese Nummer ist 1 oder größer. Wird ein neuer Prozess gestartet, so erhält dieser die nächst höhere, unbenutzte PID-Nummer. PID-Nummern sind (momentan) "16bit signed" Integer-Werte und haben einen Wert von 0 bis 32767. Dies als Information für technisch Interessierte.

USER

  Prozess-Benutzer. Hierbei handelt es sich um den (wirklichen) Benutzer, der den jeweiligen Prozess gestartet hat. Falls die tatsächliche Benutzer-ID eines Prozesses sich von der wirklichen Benutzer-ID unterscheidet, wird dies von &kpm; durch ein angehängtes * oder + gekennzeichnet. Der Stern zeigt an, dass der tatsächliche Benutzer der Super-User ist (genaugenommen zeigt er an, dass das Programm `setuid` "root" ist).

PRI

  Länge des nächsten Prozessor-Zeitintervalls. Dies ist die maximale Zeit, die einem Prozess beim nächsten Aktivieren zugewiesen werden kann. (oder die maximale Restzeit des laufenden Zeitintervalls, falls der Prozess zur Zeit bearbeitet wird). Die Zahl entspricht einem Wert innerhalb einer Skala von -20 bis +20, wobei kleinere Zahlen einem längeren Zeitintervall entsprechen.

NICE

  Der Prozessprioritätswert. Der "nice"-Wert bestimmt, wie häufig und wie lange ein Prozess laufen darf. Der Wert selbst liegt zwischen -20 und +20, wobei 0 den Standardwert darstellt. Niedrigere Zahlen weisen einem Prozess mehr Prozessorzeit zu. Das Herabsetzen von "nice"-Werten ist ausschließlich dem Super-User vorbehalten.

SIZE

  Virtuelle Größe des Prozesses (KBytes). Dies ist die Gesamtgröße des Prozesses. Dazu gehören der gesamte Prozesscode, die Daten und die gemeinsam genutzten Bibliotheken ("shared libraries") einschließlich der Seiten, die ausgelagert sind.

RSS

  "resident set size" (Größe in KBytes). Hierbei handelt es sich um die Größe des Prozessteils (Code, Daten und die gemeinsam genutzte Bibliotheken), der sich tatsächlich im RAM befindet. Dieser Wert ergibt eine gute Abschätzung der RAM-Menge, die ein Prozess verwendet.

SHARE

  Gemeinsam genutzter Speicher (Größe in KByte). Dieser Wert gibt die Speichermenge an, die sich ein Prozess mit anderen Prozessen teilt oder teilen könnte. Dabei sagt dies nicht aus, dass von dieser Speichermenge auch tatsächlich irgendein Teil von anderen Prozessen verwendet wird. Der Wert gibt lediglich an, wieviel Speicher mit anderen Prozessen geteilt werden kann.

STAT

  Zustand eines Prozesses. Ein Prozess befindet sich immer in einem der folgenden Zustände:

  R

    (running): Der Prozess läuft auf der CPU oder ist bereit für die Ausführung.

  S

    (sleeping): Der Prozess wartet auf ein Ereignis (etwa auf eine Ein-/Ausgabe oder auf den Zeitgeber).

  D

    (uninterruptable sleep): Der Prozess wartet auf ein Ereignis, ohne dass er hierbei unterbrochen werden kann (z.B. der Wartezustand eines Gerätetreibers).

  T

    (stopped): Der Prozess wurde beendet oder wird durch einen anderen Prozess verfolgt ("traced").

  Z

    (zombie): Der Prozess wurde beendet, ohne dass der übergeordnete "parent"-Prozess hiervon bislang Kenntnis genommen hat.

  W

    Der Prozess wurde komplett auf die Festplatte ausgelagert (er besitzt keine im Speicher befindlichen Seiten mehr). Dies erfolgt auch bei Kernel-Prozessen, z.B. `kswapd`.

&percnt;CPU

  Prozentuale CPU-Last seit der letzten Aktualisierung. Dieser Wert gibt an, wieviel CPU-Zeit (in Prozent) ein Prozess seit der letzten Aktualisierung der Prozessliste verwendet hat.

&percnt;MEM

  Prozentsatz des benutzten Speichers. Dieser Wert gibt an, welcher prozentuale Anteil des gesamten RAM-Speichers von einem Prozess verwendet wird (ausgehend vom Wert unter "rss"). Da gemeinsam genutzte Bibliotheken ebenfalls zu der Berechnung hinzugezählt werden, handelt es sich möglicherweise um einen zu hohen Wert.

TIME

  Verwendete Gesamt-CPU-Zeit. Dies gibt an, wieviel CPU-Zeit ein Prozess seit seinem Start gebraucht hat.

CMDLINE

  Befehlszeile, die den Prozess aufgerufen hat. Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).

##### Programmfelder

&kpm; Programmfelder.
&kpm; Programmfelder.

PID

  Prozess-ID. Jedem Prozess wird eine eigene Prozess-ID-Nummer (PID) zugeordnet. Diese Nummer ist 1 oder größer. Wird ein neuer Prozess gestartet, so erhält dieser die nächst höhere, unbenutzte PID-Nummer. PID-Nummern sind (momentan) "16bit signed" Integer-Werte und haben einen Wert von 0 bis 32767. Dies als Information für technisch Interessierte.

PPID

  "Parent"-Prozess ID. Jeder Prozess wird einem übergeordneten Prozess, dem Eltern- oder "Parent"-Prozess zugeordnet. Die einzige Ausnahme ist hierbei der allererste Prozess `init` mit der PID-Nummer 1. Dieser Prozess stellt quasi die Wurzel des Prozessbaumes dar und besitzt daher keinen "Parent"-Prozess.

PGID

  Prozess-Gruppen ID. Jeder Prozess gehört zu einer Gruppe von Prozessen. Diese Gruppen werden für die Verteilung von Prozesssignalen verwendet. Sie werden ebenfalls von Terminals eingesetzt, um über ihre Eingabeaufforderungen zu entscheiden. Prozesse, die derselben Prozessgruppe angehören, dem auch das Terminal zugeordnet ist, befinden sich im Vordergrund und besitzen somit das Recht, Lesezugriffe zu tätigen. Prozesse, die einer anderen Gruppe angehören, werden blockiert und erzeugen ein Signal, falls sie dennoch versuchen, einen Lesezugriff zu unternehmen.

SID

  Sitzungs-ID. Sitzungs-IDs werden hauptsächlich eingesetzt, um festzulegen, was bei einem Absturz des Terminals geschehen ist.

TTY

  Verwaltendes Terminal(tty). Das verwaltende Terminal ist üblicherweise das Gerät (seriell Schnittstelle, pty, etc..), von dem aus Prozesse gestartet werden. Dieses Terminal wird gleichzeitig für Ein- und Ausgaben verwendet. &kpm; durchsucht das `/dev`-Verzeichnis, um den Namen des Terminals herauszufinden. Es sind jedoch nicht alle Prozesse einem verwaltenden Terminal zugeordnet. Daher kann diese Suche erfolglos verlaufen. Um Platz zu sparen, werden nur die letzten beiden Zeichen des tty-Namens angezeigt. Das Terminal `/dev/ttyp6` wird beispielsweise als p6 angezeigt.

TPGID

  Prozess-Gruppen ID des tty-Prozesses. Jedes benutzte Terminal tty ist einem Prozess zugeordnet. Die Prozess-Gruppen ID dieses Prozesses wird unter TPGID angezeigt.

STAT

  Zustand eines Prozesses. Ein Prozess befindet sich immer in einem der folgenden Zustände:

  R

    (running): Der Prozess läuft auf der CPU oder ist bereit für die Ausführung.

  S

    (sleeping): Der Prozess wartet auf ein Ereignis (etwa auf eine Ein-/Ausgabe oder auf den Zeitgeber).

  D

    (uninterruptable sleep): Der Prozess wartet auf ein Ereignis, ohne dass er hierbei unterbrochen werden kann (z.B. der Wartezustand eines Gerätetreibers).

  T

    (stopped): Der Prozess wurde beendet oder wird durch einen anderen Prozess verfolgt ("traced").

  Z

    (zombie): Der Prozess wurde beendet, ohne dass der übergeordnete "parent"-Prozess hiervon bislang Kenntnis genommen hat.

  W

    Der Prozess wurde komplett auf die Festplatte ausgelagert (er besitzt keine im Speicher befindlichen Seiten mehr). Dies erfolgt auch bei Kernel-Prozessen, z.B. `kswapd`.

UID

  Numerische Benutzer-ID. Dies ist die ID des (wirklichen) Benutzers, dem der Prozess gehört.

TIME

  Verwendete Gesamt-CPU-Zeit. Dies gibt an, wieviel CPU-Zeit ein Prozess seit seinem Start gebraucht hat.

CMDLINE

  Befehlszeile, die den Prozess aufgerufen hat. Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).

##### Speicherfelder

&kpm; Speicherfelder
&kpm; Speicherfelder

PID

  Prozess-Identifikation. Jedem Prozess wird eine eigene Prozess-ID-Nummer (PID) zugeordnet. Diese Nummer ist 1 oder größer. Wird ein neuer Prozess gestartet, so erhält dieser die nächst höhere, unbenutzte PID-Nummer. PID-Nummern sind (momentan) "16bit signed" Integer-Werte und haben einen Wert von 0 bis 32767. Dies als Information für technisch Interessierte.

TTY

  Verwaltendes Terminal (tty). Das aktive Terminal (tty) ist üblicherweise das Gerät (seriell Schnittstelle, pty, etc..), von dem aus Prozesse gestartet werden. Dieses Terminal wird gleichzeitig für Ein- und Ausgaben verwendet. &kpm; durchsucht das `/dev` Verzeichnis, um den Namen des Terminals herauszufinden. Es sind jedoch nicht alle Prozesse einem aktiven Terminal zugeordnet. Daher kann diese Suche erfolglos verlaufen. Um Platz zu sparen, werden nur die letzten beiden Zeichen des tty-Namens angezeigt. Das Terminal `/dev/ttyp6` wird beispielsweise als p6 angezeigt.

MAJFLT

  Anzahl der aufgetretenen schwerwiegenden Fehler ("major faults"). Ein Seitenfehler ("page fault") tritt auf, wenn ein Prozess versucht, entweder lesend oder schreibend auf eine Speicherseite zuzugreifen, die sich nicht im RAM befindet. Es handelt sich um einen schwerwiegenden Seitenfehler, wenn ein Zugriff auf die Festplatte benötigt wird, z.B. für Auslagerungen oder das Einlesen von Speicherseiten.

MINFLT

  Anzahl der aufgetretenen leichten Fehler ("minor faults"). Ein Seitenfehler ("page fault") tritt auf, wenn ein Prozess versucht, entweder lesend oder schreibend auf eine Speicherseite zuzugreifen, die sich nicht im RAM befindet oder versucht, auf eine Seite zu schreiben, auf die kein Schreibzugriff möglich ist. Es handelt sich um einen leichten Fehler, wenn hierbei kein Zugriff auf die Festplatte erfolgen muss, z.B. ein Schreibzugriff auf eine mit "copy-on-write" gemeinsam benutzte Seite ("shared page").

TRS

  "Text resident set size" (Größe in KByte). Hierbei handelt es sich um die Größe des Prozesstextes (der ausführbare Programmcode), der sich momentan im RAM befindet.

DRS

  "Data resident set size" (Größe in KByte). Hierbei handelt es sich um die Größe der Prozessdaten (nicht ausführbarer Programmcode), der sich momentan im RAM befindet.

SIZE

  Virtuelle Größe des Prozesses (KBytes). Dies ist die Gesamtgröße des Prozesses. Dazu gehören der gesamte Prozesscode, die Daten und die gemeinsam genutzten Bibliotheken ("shared libraries") einschließlich der Seiten, die ausgelagert sind.

SWAP

  Umfang der Auslagerung (in KByte). Dies ist die Differenz zwischen SIZE und RSS. Mit anderen Worten sagt dieser Wert, in welchem Umfang Teile des Prozesses auf die Festplatte ausgelagert wurden.

RSS

  "resident set size" (Größe in KBytes). Hierbei handelt es sich um die Größe des Prozessteils (Code, Daten und die gemeinsam genutzte Bibliotheken), der sich tatsächlich im RAM befindet. Man erhält eine gute Abschätzung der RAM-Menge, die ein Prozess verwendet.

SHARE

  Gemeinsam genutzter Speicher (Größe in KByte). Dieser Wert gibt die Speichermenge an, die sich ein Prozess mit anderen Prozessen teilt oder teilen könnte. Dabei sagt dies nicht aus, dass von dieser Speichermenge auch tatsächlich irgendein Teil von anderen Prozessen verwendet wird. Der Wert gibt lediglich an, wieviel Speicher mit anderen Prozessen geteilt werden kann.

DT

  Anzahl an "dirty pages". Hierbei ist die Anzahl an RAM-Seiten (nicht die Anzahl Bytes!) gemeint, die seit dem letzten Zugriff auf die Festplatte verändert wurden. "Dirty pages" müssen zuerst auf die Festplatte geschrieben werden, bevor sie wieder für andere Dinge freigegeben werden können.

CMDLINE

  Befehlszeile, die den Prozess aufgerufen hat. Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).

##### Andere Felder

PLCY

  Prozess-Ablaufplan ("Scheduling policy"). FIFO (F) und "Round-Robin" (R) sind Echtzeit-Ablaufpläne; "OTHER" (O) ist der bei UNIX übliche Ablaufplan zur Verteilung der CPU-Zeit. F- und R-Prozesse haben eine Echtzeitpriorität zwischen 1 und 99. Nachdem "Round-Robin" Prozesse für die Dauer einer Zeitscheibe ("time-slice") gelaufen sind, werden sie auf die letzte Position innerhalb der Warteschlange ihres Prioritätslevels gesetzt. FIFO Prozesse laufen solange, bis sie den Prozessor freigeben (durch das Versetzen in den Ruhezustand oder durch Blockierung) oder durch einen Prozess mit einem höheren Prioritätslevel an der weiteren Bearbeitung gehindert werden. Nur der Super-User (root) darf den Ablaufplan ("scheduling policy") verändern.

RPRI

  Echtzeit-Prioritätsstufen. Echtzeit-Prozesse (FIFO und "Round-Robin") werden Prioritätswerte zwischen 1 und 99 zugeordnet. Ein Prozess mit einer höheren Prioritätsstufe als ein anderer wird bei der Zuteilung der CPU-Zeit bevorzugt. Normale Prozesse, die CPU-Zeit mit anderen Prozessen teilen ("policy"-Wert O) besitzen alle den Prioritätslevel 0. Nur der Super-User (root) darf die Echtzeit-Prioritätsstufen ändern.

FLAGS

  Prozess-Kennzeichner ("flags", hex). Bitte sehen Sie wegen Details im Programmcode des Linux-Kernels nach.

WCHAN

  Art des Schlafens eines Prozesses. Wenn ein Prozess auf ein Ereignis wartet, so wird die Art des Wartens hier angezeigt (Um den Namen abzukürzen sind die Präfixe "do_" oder "sys_" entfernt).

&percnt;WCPU

  Durchschnittliche, prozentuale CPU-Last. Hierbei handelt es sich um den über die letzten 30 Sekunden gemittelten Prozentsatz der CPU-Zeit, die ein Prozess verwendet hat (exponentiell abnehmender Durchschnitt).

START

  Anfangszeit des Prozesses. Dieser Wert gibt an, wann der Prozess erzeugt wurde.

COMM

  Befehl, der den Prozess aufgerufen hat. In diesem Feld wird der Befehl (Dateiname) angezeigt, der den Prozess erzeugt hat. Zu lange Namen werden abgeschnitten.

### Überwachen der Ressourcen

In der Standardeinstellung zeigt &kpm; die Ressourcennutzung, einschließlich durchschnittlicher Auslastung, CPU-Nutzung, Speichernutzung, Nutzung der Auslagerungsdatei und Gesamtlaufzeit des Systems. Diese Daten werden in mehreren Feldern oberhalb der Prozessliste im Hauptfenster von &kpm; angezeigt. Diese Anzeigen können Sie durch Klicken auf Einstellungen Ressourcen-Informationen anzeigen ein- und ausblenden. In der Standardeinstellung sind die Anzeigen grafisch, Sie können sie aber auf präzisere Textanzeigen umschalten, indem Sie auf die jeweilige Anzeige klicken oder die Einstellungen ändern unter Einstellungen Persönliche Einstellungen....

### Prozesse überwachen

&kpm; zeigt im Hauptfenster eine Liste der Prozesse des Linux Systems. Standardmäßig werden alle Prozesse angezeigt. Sie können die Anzeige durch das Menü Ansicht, wie hier beschrieben, einschränken auf die eigenen Prozesse, Nicht-Root-Prozesse oder die laufenden Prozesse.

&kpm; zeigt zu jedem Prozess verschiedene Informationen an. Standardmäßig handelt es sich um die wichtigsten Prozessfelder. Im Menü Ansicht kann die Anzeige auch umgeschaltet werden auf eine Feldmenge, die für die Ausführungsplanung oder die Speicherbenutzung wichtig ist oder auf eine selbst zusammengestellte Feldmenge. Eine genauere Beschreibung findet sich unter Prozessfelder.

Schließlich können Sie eine Liste der von einem Prozess geöffneten TCP- und UDP-Sockets anzeigen lassen. Wählen Sie dazu Strg I Prozess Socket-Information . Sie können den gewünschten Prozess durch Klicken auf seinen Eintrag in der Prozessliste auswählen. Mehrere Prozesse wählen Sie aus, indem Sie die Umschalt-Taste gedrückt halten und auf jeden gewünschten Prozess klicken.

### Prozesse verwalten

&kpm; beherrscht drei Arten der Prozessverwaltung:

Prioritätswert setzen...

  Durch das Setzen des Prioritätswertes kann der Besitzer eines Prozesses dessen Priorität ändern. Eine genauere Beschreibung findet sich hier. Durch Auswahl von Strg R Prozess Prioritätswert setzen... können Sie die Priorität ihrer Prozesse herabsetzen. Der Super-User kann zusätzlich die Priorität aller Prozesse herauf- und herabsetzen.

Ablaufplan ändern

  Der Super-User kann wie unter Ablaufplan ändern beschrieben, den Ablaufplan von Prozessen ändern. Wählen Sie dazu Strg S Prozess Ablaufplan ändern... aus dem Menü aus.

Signale

  Sie können eines der unter POSIX Signale beschriebenen Signale an einen Ihrer Prozesse senden. Der Super-User kann zusätzlich jedes dieser Signale zu jedem Prozess senden. Sie senden ein Signal, indem Sie es aus dem Menü Signal auswählen, wie unter Menü Signal beschrieben.

## Befehlsreferenz

### Das &kpm; Hauptfenster

#### Das Menü Datei

Strg Z Datei Minimieren

  Minimiert das Hauptfenster. In diesem Modus benötigt &kpm; deutlich weniger Prozessorzeit da die Prozessliste nicht aktualisiert werden muss. Falls Sie `KWin` als Windowmanager verwenden und die Option "An Kontrolleiste andocken" gewählt haben, sehen Sie ein kleines Symbol in der Kontrolleiste, das die durchschnittliche Systemauslastung darstellt. Bei anderen Windowmanagern wie fvwm zeigt das Symbol von &kpm; selbst die Systemauslastung an. Diese Darstellung hängt jedoch davon ab, wie der Windowmanager konfiguriert wurde.

Strg Q Datei Beenden

  Beendet &kpm; (das Schließen des Hauptfensters führt ebenfalls zum Beenden von &kpm;).

#### Das Menü Ansicht

Strg U Ansicht Prozessliste auffrischen

  Dieser Menüpunkt führt zu einer sofortigen Aktualisierung der Prozeßliste. Dies ist besonders hilfreich, wenn Sie lange Zeitintervalle zwischen den automatischen Aktualisierungen ausgewählt haben. Eine sofortige Aktualisierung wird ebenfalls durch Drücken des Knopfes Prozessliste auffrischen in der Werkzeugleiste oder durch das Drücken der Leertaste erreicht.

Ansicht Alle Prozesse

  Zeigt alle Prozesse an.

Ansicht Eigene Prozesse

  Zeigt die vom aktuellen Benutzer gestarteten Prozesse an. Das schließt die Prozesse ein, die unter einer anderen Benutzerkennung ausgeführt werden (z.B. `setuid` Super-User Programme, die vom Benutzer aufgerufen wurden).

Ansicht Nicht-Root Prozesse

  Zeigt alle Prozesse außer denen des Super-Users an.

Ansicht Laufende Prozesse

  Zeigt nur laufende Prozesse an (laufende oder solche, die sich in der Warteschlange für laufende Prozesse befinden).

Ansicht Benutzerfelder

  Diese Prozessliste zeigt die wichtigsten Prozessfelder an, wie sie auch vom Programm top angezeigt werden.

Ansicht Programmfelder

  Zeigt die wichtigsten Felder für die Prozessverwaltung("Job-Control") an.

Ansicht Speicherfelder

  Zeigt Informationen über die Auslastung des Speichers, aufgetretene Seitenfehler (page faults) etc. an.

Ansicht Felder auswählen...

  Sie können hier eine eigene Auswahl von Feldern zur Anzeige festlegen.

#### Das Menü Prozess

Strg R Prozess Prioritätswert setzen...

  Hiermit kann die Priorität eines oder mehrerer ausgewählter Prozesse verändert werden. Unter Linux wird jedem Prozess ein Prioritätswert (der "nice"-Wert) von -20 (höchste Priorität) bis +20 (geringste Priorität) zugeordnet. Somit führt ein größerer Prioritätslevel dazu, dass ein Prozess weniger Prozessorzeit zugeteilt bekommt. Sie dürfen jedoch nur als Super-User die Prioritätswerte verringern, um die Priorität eines Prozesses zu erhöhen. Das bedeutet, dass Sie als normaler Benutzer die Prozesspriorität nicht erhöhen dürfen - selbst, wenn Sie sie zuvor gesenkt hatten Natürlich haben Sie nur die Möglichkeit, die Priorität Ihrer eigenen Prozesse zu verändern. Als Super-User dürfen Sie die Priorität jedes Prozesses modifizieren und auch die Priorität eines Prozesses heraufsetzen.

Prozess Ablaufplan ändern...

  Diese Möglichkeit besitzt nur der Super-User. Mit Hilfe dieses Menüpunktes kann der Super-User den Ablaufplan (Scheduling) der ausgewählten Prozesse verändern. Dazu werden die Posix.1b Real-Time-Erweiterungen eingesetzt, die in Linux-Kerneln ab Version 2.0.x vorhanden sind. Normale Prozesse werden auf den Wert `SCHED_OTHER` gesetzt und erhalten die statische Priorität 0; "soft" Real-Time Prozesse haben den Wert `SCHED_FIFO` oder `SCHED_RR` und eine statische Priorität zwischen 1 und 99.

Strg I Prozess Socket-Information

  Zeigt eine Liste der TCP und UDP Sockets an, die von den ausgewählten Prozessen verwendet werden.

#### Das Menü Signal

Über die einzelnen Menüpunkte des Signal-Menüs können Sie Signale an alle ausgewählten Prozesse senden. Seien Sie jedoch vorsichtig hierbei - besonders, wenn Sie mehrere Prozesse ausgewählt haben. Eine Erklärung der Standard-POSIX-Signale finden sich hier.

Strg T Signal Beenden (terminate)

  Sendet das Signal SIGTERM an die ausgewählten Prozesse.

Strg H Signal Aufhängen

  Sendet das Signal SIGHUP an die ausgewählten Prozesse.

Signal Unterbrechen

  Sendet das Signal SIGINT an die ausgewählten Prozesse.

Strg K Signal Beenden(kill)

  Sendet das Signal SIGKILL zu den ausgewählten Prozessen.

Signal Andere

  Zeigt eine Liste weiterer Signale, die Sie an die ausgewählten Prozesse senden können.

#### Das Einstellungenmenü

Einstellungen Werkzeugleiste anzeigen

  Blendet die Werkzeugleiste ein und aus.

Einstellungen Befehlspfad anzeigen

  Blendet den Befehlspfad im CMDLINE-Feld der Prozessliste ein und aus.

Einstellungen Ressourcen-Informationen anzeigen

  Blendet die Ressourcenanzeigen ein und aus.

Einstellungen Einstellungen speichern

  Speichert die aktuellen Einstellungen. Diese werden jedesmal beim Start von &kpm; angewandt, bis sie von neuen Einstellungen überschrieben werden.

Einstellungen Persönliche Einstellungen...

  Öffnet einen Dialog, der die Änderung der Einstellungen von &kpm; erlaubt.

Einstellungen Auffrischrate...

  Öffnet einen Dialog zur Einstellung der Auffrischrate.

## Signale

Die folgenden Signale werden auf der Manualseite `signal(7)` ausführlich erklärt. Sie können diese Manualseite folgendermaßen aufrufen:

    %
    man7 signal

### POSIX-Signale

Folgende Signale gehören zum POSIX-Standard und können von &kpm; gesendet werden:

SIGHUP

  Entweder wurde durch das verwaltende Terminal ein Absturz erkannt oder der aktive Prozess wurde unvorhergesehenerweise beendet.

SIGINT

  "Unterbrechung", durch die Tastatur aufgerufen.

SIGQUIT

  "Beenden", durch die Tastatur aufgerufen.

SIGILL

  Unberechtigt aufgerufener Prozessorbefehl.

SIGABRT

  "Abbrechen"-Signal von "abort(3)".

SIGFPE

  Gleitkomma-Fehler.

SIGKILL

  "Kill"-Signal.

SIGSEG

  Ungültige Speicherreferenz.

SIGPIPE

  Unterbrechung des Signalflusses: "Broken pipe: write to pipe with no readers".

SIGALRM

  Zeitgebersignal des Alarms (1).

SIGTERM

  Terminationssignal.

SIGUSR1

  Benutzer-definiertes Signal 1.

SIGUSR2

  Benutzer-definiertes Signal 2.

SIGCHLD

  Untergeordneter "Child"-Prozess wurde angehalten oder beendet.

SIGCONT

  Fortsetzen, falls angehalten.

SIGSTOP

  Prozess anhalten.

SIGTSTP

  Aufforderung zum Anhalten wurde am Terminal tty eingegeben.

SIGTTIN

  Eingabe für einen Hintergrundprozess vom Terminal tty.

SIGTTOU

  Ausgabe für einen Hintergrundprozess vom Terminal tty.

### Andere Signale

Die folgenden Signale sind weder durch POSIX definiert noch bislang durch &kpm; verfügbar:

SIGTRAP

  "Trace/breakpoint trap" - Die Falle zum Aufspüren oder für Unterbrechungen.

SIGIOT

  "IOT trap". Diese Falle ist ein Synonym für SIGABRT.

SIGBUS

  Bus-Fehler.

SIGSYS

  Ungültiges Argument wurde an die Routine (SVID) übergeben.

SIGSTKFLT

  Stackfehler des Koprozessors.

SIGURG

  Dringende Bedingung/Situation am Socket (4.2 BSD).

SIGIO

  I/O ist jetzt möglich (4.2 BSD).

SIGPOLL

  Synonym für SIGIO (System V).

SIGCLD

  Synonym für SIGCHLD.

SIGXCPU

  Zeitbegrenzung der CPU überschritten (4.2 BSD).

SIGXFSZ

  Größenbegrenzung für die Datei überschritten (4.2 BSD).

SIGVTALRM

  Virtueller Wecker (4.2 BSD).

SIGPROF

  Profil-Wecker.

SIGPWR

  Fehler in der Stromversorgung (System V).

SIGINFO

  Synonym für SIGPWR.

SIGLOST

  Datei-Sperre verloren.

SIGWINCH

  Signal für die Veränderung der Fenstergröße (4.3 BSD, Sun).

SIGUNUSED

  Nicht verwendetes Signal.

## Fragen und Antworten

Warum stürzt &kpm; gelegentlich mit einem Segmentverletzungsfehler ab?

Dies geschieht, wenn mehr als ein Prozess gewählt wurde und die Tabelle aktualisiert wird. Der Grund für diesen Absturz ist bislang nicht bekannt.

Warum benötigt &kpm; so viel CPU-Zeit?

Wenn Sie &kpm; so einstellen, dass die Prozessliste häufig aktualisiert wird, so kann das Programm die Belastung der CPU erheblich erhöhen. Beispielsweise wird auf einem Rechner mit einem AMD K6PR200-Prozessor dieser zu ca. 5 Prozent ausgelastet, wenn die Zeitspanne zwischen den Aktualisierungen auf eine Sekunde gestellt wird. Die tatsächliche Belastung hängt jedoch stark von der Anzahl aller Prozesse ab (nicht nur der angezeigten) und kann mitunter deutlich höher ausfallen.

Warum zeigt die &percnt;CPU-Anzeige falsche Daten?

Der "&percnt;CPU"-Wert ist bei sehr kurzen Aktualisierungsintervallen nicht präzise, da der Zeitgeber zu ungenau ist.

Warum zeigt das WCHAN-Feld falsche Werte?

Das WCHAN-Feld ist fehlerhaft, falls ein ruhender Prozess sich an einer Stelle ausserhalb der in der Datei `System.map` definierten befindet. In diesen Fällen wird der letzte Eintrag in der Datei `System.map` angezeigt (meistens so etwas wie _end).

Warum erscheinen geklonte PIDs nicht in &kpm;?

&kpm; kann nicht mehr als einen Prozess mit der gleichen PID verwalten. Dieser Zustand tritt ein, wenn `CLONE_PID` mit dem Systemaufruf `clone()` verwendet wird.

## Mitwirkende und Lizenz

&kpm;

Programm Copyright 2000 Mario Weilguni mweilguni@kde.org und Mattias Engdegård f91-men@nada.kth.se.

Dokumentation Copyright 2000 Morgan N. Sandquist morgan@pipeline.com und Mario Weilguni mweilguni@kde.org.

Deutsche Übersetzung der Dokumentation Frank SchütteF.Schuette@t-online.de.

&underFDL;

&underGPL;

## Installation

### Woher Sie &kpm; erhalten

&kpm; ist Teil des KDE-Projekts.

&kpm; gehört zum Paket KDE Dienstprogramme (kdeutils) auf ftp://ftp.kde.org/pub/kde/, der ftp-Seite des KDE-Projekts.

### Voraussetzungen für &kpm;

Folgende Voraussetzungen sind nötig, um &kpm; zu kompilieren:

- Das Betriebssystem Linux mit Kernel Version 2.0 oder höher. &kpm; basiert auf dem `proc` Dateisystem von Linux. Leider ist dieses System nicht auf andere Betriebssysteme übertragbar, da scheinbar jedes UNIX-System einen eigenen Weg geht, um Informationen über Prozesse zu sammeln.

### Kompilierung und Installation

Geben Sie folgende Befehle im Hauptverzeichnis der &kpm;-Distribution ein, um &kpm; zu kompilieren und installieren:

    % ./configure
    % make
    % make install

Da &kpm; autoconf und automake verwendet, sollten beim Kompilieren keine Probleme auftauchen. Falls doch, teilen Sie Ihr Problem bitte auf den KDE-Mailinglisten mit.

&documentation.index;