Diskussion:Linux/Prozesse: Unterschied zwischen den Versionen

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


Das Kommando stellt die aktiven Prozesse in einer Baumstruktur dar, welche die Prozessvererbung symbolisiert.
nohup    COMMAND [ARG]...  


pstree     [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
     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.


  Beispiel:
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...


pstree
Anmerkung
init-+-actived
      |-atd
      |-cron
      |-gpm
      |-httpd---httpd
      |-in.identd---in.identd---5*[in.identd]
      |-inetd
      |-kflushd
      |-klogd
      |-kpiod
      |-kswapd
      |-kupdate
      |-lockd---rpciod
      |-2*[login---bash---ssh]
      |-login---sh
      |-2*[mingetty]
      |-nscd---nscd---5*[nscd]
      |-portmap
      |-syslogd


     Das Beispiel verdeutlicht, dass init der Elternprozess aller Prozesse ist. pstree versucht per Voreinstellung identische Prozesse in der Darstellung zusammen zu fassen, so bedeutet 2*[mingetty], dass 2 Prozesse das Kommando mingetty ausführen.
     Im Beispiel wird in einer Subshell ein Skript "sleepproc" gestartet und die Shell beendet.
     Mit der Option -c wird diese Zusammenfassung abgeschaltet:
    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 ==
|-in.identd---in.identd-+-in.identd
- Prozess abnabeln
    |                       |-in.identd
 
    |                       |-in.identd
nohup    COMMAND [ARG]...  
    |                      |-in.identd
 
    |                      `-in.identd
    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.

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.