Zum Inhalt springen

Diskussion:Linux/Prozess: Unterschied zwischen den Versionen

Aus Foxwiki
Thomaskarras (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K Textersetzung - „ “ durch „ “
 
(14 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 14. Juni 2026, 00:46 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.