Diskussion:Linux/Prozesse: Unterschied zwischen den Versionen

Aus Foxwiki
Thomaskarras (Diskussion | Beiträge)
K Dirkwagner verschob die Seite Diskussion:Linux:Prozesse nach Diskussion:Linux/Prozesse, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „Linux:“ durch „Linux/“
 
(13 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Prozessstatus (ps) ==
== nohup ==  
- Prozess abnabeln


(process status) zeigt die Prozesse mit ihrem Status an
nohup    COMMAND [ARG]...


ps [Optionen]
    Das von nohup gestartete Kommando läuft unabhängig von der aktiven Shell. D.h. ein so gestartetes Kommando arbeitet auch nach dem Beenden der Sitzung (logout) weiter.
    Die Ausgaben von nohup werden ggf. in eine Datei nohup.out umgeleitet. Kann diese im aktuellen Verzeichnis nicht erzeugt werden, wird sie im Heimatverzeichnis angelegt.
    Scheitert auch dies, beendet nohup seine Tätigkeit.
    Ein über nohup gestartetes Kommando erhält eine um 5 erhöhte Priorität.


Optionen
bash
* a zeigt alle aktive Prozesse
./sleepproc&
* c zeigt den Namen des Kommandos
[1] 776
* l langes Format
exit
* m zeigt Speichernutzung
ps eax | grep spleepproc
* r zeigt nur die laufenden Prozesse
* u zeigt die Besitzer und Startzeit der Prozesse
bash
* w breite Ausgabe, lange Zeilen werden nicht abgeschnitten
nohup ./sleepproc&
* x zeigt Prozesse, die von keinem Terminal kontrolliert werden
[1] 786
* S addiert die Prozessorzeit der Kindprozesse zu den Eltern
exit
* tTTY > kontrolliert werden
ps eax | grep spleepproc
786 ? S N 0:00 sh ./sleepproc...


Bedeutung der Spalten
Anmerkung
* COMMAND der Name des Kommandos; Prozesse, die komplett in den Swapbereich ausgelagert sind, werden in Klammern angezeigt
 
* TIME die verbrauchte Rechenzeit (Summe User- und Kernelmodus) im Format MM:SS
    Im Beispiel wird in einer Subshell ein Skript "sleepproc" gestartet und die Shell beendet.
* TTY die Nummer des kontrollierenden Terminals
    Wie zu erwarten war, wurde der in der Shell gestartete Prozess mit dem Ende der Shell beendet.
* UID die Benutzer-ID des Eigentümers dieses Prozesses
    In einem zweiten Schritt wird das Skript "sleepproc" unabhängig von der Shell gestartet... es existiert auch nach Beendigung der Shell weiter.
* PID die Prozessnummer dieses Prozesses
 
* PPID die Prozessnummer des Elternprozesses
== nohup ==
* PRI Priorität
- Prozess abnabeln
* TPGID die Prozessgruppe, der z. Z. das kontrollierende Terminal zu diesem Prozess gehört
 
* SID die Session-ID des Prozesses (ID der Login-Shell)
nohup    COMMAND [ARG]...
* STAT ist der Status des Prozesses; folgende Symbole sind möglich:
 
* R lauffähig
    Das von nohup gestartete Kommando läuft unabhängig von der aktiven Shell. D.h. ein so gestartetes Kommando arbeitet auch nach dem Beenden der Sitzung (logout) weiter.
* S schlafend
    Die Ausgaben von nohup werden ggf. in eine Datei nohup.out umgeleitet. Kann diese im aktuellen Verzeichnis nicht erzeugt werden, wird sie im Heimatverzeichnis angelegt.
* W nicht mehr im Arbeitsspeicher
    Scheitert auch dies, beendet nohup seine Tätigkeit.
    Ein über nohup gestartetes Kommando erhält eine um 5 erhöhte Priorität.
 
bash
./sleepproc&
[1] 776
exit
ps eax | grep spleepproc
bash
nohup ./sleepproc&
[1] 786
exit
ps eax | grep spleepproc
786 ? S N 0:00 sh ./sleepproc...
 
Anmerkung
 
    Im Beispiel wird in einer Subshell ein Skript "sleepproc" gestartet und die Shell beendet.
    Wie zu erwarten war, wurde der in der Shell gestartete Prozess mit dem Ende der Shell beendet.
    In einem zweiten Schritt wird das Skript "sleepproc" unabhängig von der Shell gestartet... es existiert auch nach Beendigung der Shell weiter.

Aktuelle Version vom 22. März 2023, 16:34 Uhr

nohup

- Prozess abnabeln

nohup COMMAND [ARG]...

   Das von nohup gestartete Kommando läuft unabhängig von der aktiven Shell. D.h. ein so gestartetes Kommando arbeitet auch nach dem Beenden der Sitzung (logout) weiter.
   Die Ausgaben von nohup werden ggf. in eine Datei nohup.out umgeleitet. Kann diese im aktuellen Verzeichnis nicht erzeugt werden, wird sie im Heimatverzeichnis angelegt.
   Scheitert auch dies, beendet nohup seine Tätigkeit.
   Ein über nohup gestartetes Kommando erhält eine um 5 erhöhte Priorität.

bash

./sleepproc&
[1] 776
exit
ps eax | grep spleepproc

bash
nohup ./sleepproc&
[1] 786
exit
ps eax | grep spleepproc
786 ? S N 0:00 sh ./sleepproc...

Anmerkung

   Im Beispiel wird in einer Subshell ein Skript "sleepproc" gestartet und die Shell beendet.
   Wie zu erwarten war, wurde der in der Shell gestartete Prozess mit dem Ende der Shell beendet.
   In einem zweiten Schritt wird das Skript "sleepproc" unabhängig von der Shell gestartet... es existiert auch nach Beendigung der Shell weiter.

nohup

- Prozess abnabeln

nohup COMMAND [ARG]...

   Das von nohup gestartete Kommando läuft unabhängig von der aktiven Shell. D.h. ein so gestartetes Kommando arbeitet auch nach dem Beenden der Sitzung (logout) weiter.
   Die Ausgaben von nohup werden ggf. in eine Datei nohup.out umgeleitet. Kann diese im aktuellen Verzeichnis nicht erzeugt werden, wird sie im Heimatverzeichnis angelegt.
   Scheitert auch dies, beendet nohup seine Tätigkeit.
   Ein über nohup gestartetes Kommando erhält eine um 5 erhöhte Priorität.

bash

./sleepproc&
[1] 776
exit
ps eax | grep spleepproc

bash
nohup ./sleepproc&
[1] 786
exit
ps eax | grep spleepproc
786 ? S N 0:00 sh ./sleepproc...

Anmerkung

   Im Beispiel wird in einer Subshell ein Skript "sleepproc" gestartet und die Shell beendet.
   Wie zu erwarten war, wurde der in der Shell gestartete Prozess mit dem Ende der Shell beendet.
   In einem zweiten Schritt wird das Skript "sleepproc" unabhängig von der Shell gestartet... es existiert auch nach Beendigung der Shell weiter.