GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Webmin

Laufende Prozesse

Auf dieser Seite wird erläutert, wie Sie laufende Prozesse verwalten auf Ihrem System mit Webmin.

Inhalt

Einführung in Prozesse

Jedes Programm, jeder Prozess oder Befehl, der auf einem Linux-System läuft, ist ein Prozess . Zu jeder Zeit laufen Dutzende von Prozessen auf Ihrem System, einige für Programme, mit denen Sie grafisch interagieren, einige für Befehle, die Sie an einer Shell-Eingabeaufforderung gestartet haben, einige für Server, die im Hintergrund laufen, und einige, die Systemaufgaben ausführen. Jedes Mal, wenn Sie am Shell-Prompt einen Befehl wie ls oder vi eingeben, wird ein neuer Prozess erstellt, der sich beendet, sobald seine Aufgabe erledigt ist.

Jeder Prozess wird durch eine eindeutige ID identifiziert, die als PID oder Prozess-ID bekannt ist. Jeder gehört einem einzelnen Benutzer und ist Mitglied mehrerer Gruppen, die die Berechtigungen bestimmen, die der Prozess hat. Und jeder hat eine Priorität (auch als Nice-Level bekannt), die steuert, wie viel CPU-Zeit der Prozess auf einem ausgelasteten System verbrauchen kann. Fast jeder Prozess hat einen Elternprozess, das ist der Prozess, der ihn gestartet hat, und von dem er Eigentum, Priorität und andere Einstellungen erbt.

Ein Prozess wird ausgeführt, bis er sich zum Beenden entscheidet oder bis er durch ein Signal von einem anderen Prozess beendet wird.

Das Modul Laufende Prozesse

Dieses Modul kann verwendet werden, um Prozesse auf Ihrem System anzuzeigen, zu beenden, neu zu priorisieren und auszuführen. Wenn Sie es zum ersten Mal aus der Kategorie System eingeben, zeigt die Hauptseite eine Baumstruktur von Prozessen, wie unten gezeigt.

Baumanzeige des Moduls "Laufende Prozesse".

Das Modul bietet verschiedene Möglichkeiten, alle Prozesse auf Ihrem System anzuzeigen, die über die Anzeige ausgewählt werden können Links oben auf der Hauptseite. Sie sind:

PID
In diesem Anzeigemodus wird jeder Prozess eingerückt unter seinem übergeordneten Prozess angezeigt, wodurch ein Baum aller Prozesse entsteht, die auf Ihrem System laufen. An der Spitze des Baums befindet sich der Befehl init, der beim Booten vom Kernel gestartet wird und daher keinen übergeordneten Befehl hat.
Benutzer
Dieser Modus gruppiert Prozesse nach ihrem Eigentümer. Es kann auf Systemen mit vielen Benutzern nützlich sein, um auf einen Blick zu sehen, was jeder Benutzer ausführt.
Erinnerung
In diesem Modus werden die Prozesse nach der Menge an Speicher geordnet, die sie verbrauchen, wobei diejenigen, die den meisten Speicher verbrauchen, oben auf der Seite angezeigt werden. Die Speicherauslastung eines Prozesses ist nicht immer ein Hinweis auf die tatsächlich verwendete Speichermenge, da Prozesse häufig Speicher gemeinsam nutzen. Darüber hinaus wird über der Prozessliste die gesamte und freie Menge an realem und virtuellem Speicher auf Ihrem System angezeigt.
CPU
Dieser Anzeigemodus ordnet Prozesse nach ihrer aktuellen CPU-Auslastung, wobei der schwerste Benutzer zuerst erscheint. Manchmal erscheint der Webmin-Befehl, der die Seite generiert, ganz oben in der Liste, kann aber getrost ignoriert werden. Die durchschnittliche Systemlast wird oben auf der Seite angezeigt, um eine Vorstellung davon zu geben, wie ausgelastet das System in den letzten 1,5 und 10 Minuten war. Ein Durchschnitt von 0 bedeutet überhaupt keine Aktivität, 1 bedeutet, dass die CPU voll ausgelastet ist, und alles über 1 bedeutet, dass mehr Prozesse ausgeführt werden sollen, als das System CPU-Zeit hat.

Die Suche und Ausführen Optionen sind für die Suche nach Prozessen bzw. das Ausführen neuer Prozesse. Weitere Einzelheiten finden Sie in den folgenden Abschnitten.

Einen Prozess anzeigen, beenden oder neu priorisieren

Sie können die vollständigen Details eines laufenden Prozesses anzeigen, indem Sie auf seine Prozess-ID klicken Spalteneintrag in einer der Anzeigen auf der Hauptseite. Dadurch gelangen Sie zur Prozessinformationsseite, die in diesem Screenshot gezeigt wird.

Detaillierte Informationen zu einem Prozess

Die Seite zeigt alle verfügbaren Informationen über den Prozess an, einschließlich der vollständigen Befehlszeile, des übergeordneten Befehls und aller Unterprozesse. Sie können einfach zur Informationsseite für den übergeordneten Prozess wechseln, indem Sie auf seinen Befehl klicken, oder zur Seite eines der Unterprozesse, indem Sie auf seine Prozess-ID klicken. Eine Liste der Dateien, die der Prozess geöffnet hat, und der Netzwerkverbindungen, die er derzeit verwendet, kann angezeigt werden, indem Sie auf Dateien und Verbindungen klicken Taste.

Der Prozess kann mit einem TERM-Signal beendet werden, indem Sie auf Prozess beenden klicken Taste. Da dies von einigen Befehlen ignoriert werden kann, wird der Kill Process kann verwendet werden, um ein KILL-Signal zu senden, wenn die Terminierung fehlschlägt. Wenn der Prozess nicht in einem Kernel-Systemaufruf hängt, ist das Beenden garantiert erfolgreich.

Andere Signale können gesendet werden, indem Sie den Signaltyp neben Signal senden auswählen Taste, bevor Sie sie drücken. Einige der nützlicheren Signale sind:

HUP
Bei vielen Serverprozessen wird dieses Signal dazu führen, dass sie ihre Konfigurationsdateien erneut lesen.
STOPP
Hält den Vorgang bis zu einem CONT an Signal wird empfangen.
WEITER
Setzt einen Prozess fort, der durch ein STOP unterbrochen wurde Signal.

Die Informationsseite kann auch verwendet werden, um den Nice-Level eines laufenden Prozesses zu ändern und ihm eine höhere oder niedrigere Priorität zu geben. Um die Priorität eines Prozesses zu ändern, wählen Sie eine neue Ebene aus der Liste *Nizza-Ebene* aus und klicken Sie dann auf Ändern Taste. Niedrigere Ebenen bedeuten höhere Prioritäten, sodass ein Prozess mit einer netten Ebene von 10 mehr CPU-Zeit erhält als einer mit Ebene 5.

Auf einem System mit mehreren Benutzern sollten lang andauernde Prozesse, die viel CPU-Zeit beanspruchen, ein höheres Nice-Level erhalten, damit sie Prozesse, die mit Benutzern interagieren, nicht verlangsamen. Alternativ können Sie einen Prozess auf Kosten anderer beschleunigen, indem Sie ihm ein niedrigeres nettes Niveau geben. Sie sollten vorsichtig sein, wenn Sie einen extrem niedrigen Wert (z. B. 20) einstellen, da allen anderen Prozessen die CPU-Zeit ausgehen kann, wodurch das System nicht mehr reagiert.

Nach Prozessen suchen

Wenn auf Ihrem System eine große Anzahl von Prozessen ausgeführt wird und Sie einen oder mehrere zum Beenden oder Anzeigen finden möchten, erleichtert die Suchfunktion des Running Process-Moduls dies. Führen Sie die folgenden Schritte aus, um Prozesse zu finden:

  1. Klicken Sie auf der Hauptseite des Moduls auf Suchen Anzeigemodus-Link. Dadurch gelangen Sie zu einem Suchformular, wie im Screenshot unten gezeigt.
  2. Das Formular zeigt verschiedene Kriterien zum Auffinden von Prozessen, von denen Sie eines auswählen können, indem Sie das Optionsfeld daneben auswählen. Die Kriterien sind:
    Eigentum von
    Prozesse, die dem Benutzer gehören, dessen Namen Sie neben dieser Option eingeben, werden gefunden. #* Übereinstimmung Findet Prozesse, deren Befehl oder Argumente den Text enthalten, den Sie neben dieser Option eingeben.
    Verwendung von mehr als
    Findet Prozesse, die mehr als den angegebenen Prozentsatz der CPU-Zeit verwenden.
    Dateisystem verwenden
    Prozesse, deren aktuelles Verzeichnis sich auf dem gewählten Dateisystem befindet oder auf eine Datei darin zugreift, werden gefunden. Nützlich, wenn Sie ein Dateisystem nicht aushängen können, weil es beschäftigt ist.
    Verwende Datei
    Findet Prozesse, die die eingegebene Datei zum Lesen oder Schreiben geöffnet haben. Wenn Sie ein Verzeichnis eingeben, wird jeder Prozess gefunden, der es als aktuelles Verzeichnis hat.
    Port verwenden
    Findet Prozesse, die auf dem eingegebenen Port unter Verwendung des gewählten Protokolls Netzwerkverkehr senden, empfangen oder abhören. Nützlich, wenn Sie die Portnummer kennen, die ein Server abhört, und den Serverprozess finden möchten.
    Adresse verwenden
    Findet Prozesse, die eine Netzwerkverbindung zu der eingegebenen Adresse geöffnet haben oder diese Adresse abhören, wenn es sich um eine Schnittstelle auf Ihrem System handelt.
  3. Um die Webmin-Suchprozesse aus den Ergebnissen zu filtern, wählen Sie Suchprozesse im Ergebnis ignorieren Möglichkeit. Dies kann bei der Suche nach CPU-Auslastung nützlich sein, da die Webmin-Prozesse viel CPU-Zeit verbrauchen.
  4. Nachdem Sie die Suchkriterien ausgewählt haben, klicken Sie auf Suchen Taste. Alle übereinstimmenden Prozesse werden unterhalb des Formulars angezeigt.
  5. Wenn Sie zusätzliche Informationen zu einem Prozess sehen, seine Priorität ändern oder ihm allein ein Signal senden möchten, klicken Sie auf seine Prozess-ID in den Ergebnissen.
  6. Um alle übereinstimmenden Prozesse zu beenden, klicken Sie auf Prozesse beenden oder Prozesse beenden Taste. Sie können auch ein beliebiges Signal an alle Prozesse senden, indem Sie es aus der Liste neben der Schaltfläche *Signal senden* auswählen. Es wird eine Seite angezeigt, die jede Prozess-ID auflistet und ob sie signalisiert oder erfolgreich beendet wurde.
Das Prozesssuchformular

Einen Prozess ausführen

Das Modul kann auch verwendet werden, um einfache Befehle auszuführen, entweder im Vordergrund, damit ihre Ausgabe angezeigt wird, oder im Hintergrund als Daemons. Dies kann nützlich sein, wenn Sie nur einen Befehl ausführen möchten, ohne sich über Telnet oder SSH anmelden zu müssen (oder wenn eine Firewall eine Telnet- oder SSH-Anmeldung verhindert). Die folgenden Schritte sind:

  1. Klicken Sie auf der Hauptseite des Moduls auf Ausführen Link neben den Optionen für den Anzeigemodus. Sie gelangen auf das Formular zum Starten eines neuen Prozesses.
  2. Geben Sie den auszuführenden Befehl in das Feld *Auszuführender Befehl* ein. Shell-Operatoren und Sonderzeichen wie;, < ,> und &&können verwendet werden.
  3. Wenn die Ausführung des Befehls lange dauert, können Sie den Ausführungsmodus einstellen Option zum Im Hintergrund ausführen Webmin automatisch in den Hintergrund stellen. Wenn Sie jedoch die Ausgabe des Befehls sehen möchten, lassen Sie die Option auf Warten, bis der Vorgang abgeschlossen ist .
  4. Geben Sie alle Eingaben, die Sie dem Befehl zuführen möchten, in das Feld *Input to command* ein.
  5. Klicken Sie auf Ausführen Taste, um es auszuführen. Wenn Warten bis abgeschlossen Option ausgewählt wurde, wird jede Ausgabe des Befehls angezeigt.
    Befehl ausführen

Modulzugriffskontrolloptionen

Standardmäßig kann jeder Webmin-Benutzer mit Zugriff auf dieses Modul alle auf dem System laufenden Prozesse verwalten, als wäre er als Root angemeldet. Mit dem Benutzer- und Gruppenmodul können Sie jedoch den Zugriff eines Benutzers einschränken, sodass er nur Prozesse beenden oder neu bearbeiten kann, die einem bestimmten Unix-Benutzer gehören. Es ist auch möglich, einen Benutzer auf den Nur-Lesen-Modus zu beschränken, sodass er nur Prozesse sehen kann, ohne sie in irgendeiner Weise zu ändern oder neue zu starten.

Sie sollten zuerst Kapitel 52 lesen, um mehr über die Modulzugriffskontrolle zu erfahren und wie Sie einem Benutzer Zugriff auf die Laufenden Prozesse gewähren Modul. Sobald dies erledigt ist, sind die folgenden Schritte auszuführen, um den Zugriff eines Webmin-Benutzers auf dieses Modul zu bearbeiten:

  1. Klicken Sie im Webmin-Benutzermodul neben dem Namen des Benutzers oder der Gruppe, die Sie einschränken möchten, auf Laufende Prozesse.
  2. Ändern Sie die Modulkonfiguration bearbeiten? Feld auf Nein .
  3. Um dem Webmin-Benutzer nur Zugriff auf die Prozesse zu geben, die einem bestimmten Unix-Benutzer gehören, geben Sie den Benutzernamen in das Feld *Prozesse als Benutzer verwalten* ein. Wenn die Unix- und Webmin-Benutzer denselben Namen haben, können Sie Aktueller Webmin-Benutzer auswählen stattdessen. Dies kann nützlich sein, wenn Sie die Modulzugriffskontrolle für eine Gruppe einrichten, in der Sie möchten, dass jedes Mitglied nur seine eigenen Prozesse verwalten kann.
  4. Um den Benutzer in den Nur-Lese-Modus zu versetzen, setzen Sie die *Can kill and renice-Prozesse?* und Can run commands? *Felder bis *Nein . Wenn dies geschehen ist, spielt es keine Rolle, welchen Benutzernamen Sie in Schritt 7 eingeben, da keine Prozessverwaltung durchgeführt werden kann.
  5. Klicken Sie auf Speichern Schaltfläche, um Ihre Änderungen zu aktivieren.

Um die Prozesse einzuschränken, die ein Webmin-Benutzer verwalten kann, wechselt der Modulcode einfach zur Ausführung als der in Schritt 4 angegebene Unix-Benutzer. Da ein Unix-Benutzer keinen Prozess beenden oder neu priorisieren kann, der ihm nicht gehört, führt ein solcher Benutzerwechsel zu einer solchen Änderung das Betriebssystem, um die Prozesszugriffskontrolle für Webmin automatisch durchzusetzen.

Andere Betriebssysteme

Da Prozesse auf allen Versionen von Unix mit fast identischen Attributen vorhanden sind, erscheint dieses Modul auf allen unterstützten Betriebssystemen fast genau gleich.

Beim Anzeigen detaillierter Informationen zu einem Prozess können auf anderen Betriebssystemen andere Informationen verfügbar sein. Auch die Palette der netten Levels kann unterschiedlich sein, aber niedrigere Levels bedeuten immer noch eine höhere Priorität und umgekehrt.

Bei der Suche nach einem Prozess wird die Using filesystem , Datei wird verwendet oder Port verwenden Kriterien möglicherweise nicht verfügbar. Diese Optionen hängen von den Befehlen fuser und lsof ab, die nicht für alle Systeme verfügbar oder standardmäßig auf allen Systemen installiert sind.


Webmin
  1. Sicherstellen, dass ein Prozess immer ausgeführt wird?

  2. Umgebung eines laufenden Prozesses ändern?

  3. Auf Prozess prüfen, wenn dieser läuft?

  4. Eingabeprozess und Anzahl der erklärten Prozesse

  5. So beenden Sie laufende Prozesse in Linux

Ps-Befehl in Linux (Prozesse auflisten)

So beenden Sie Zombie-Prozesse in Linux

So finden und beenden Sie laufende Prozesse in Linux

Prozessüberwachung unter Linux

Befehle für das Prozessmanagement in Linux

So töten Sie Zombie-Prozesse in Ubuntu