Diskussion:Linux/Prozesse: Unterschied zwischen den Versionen

Aus Foxwiki
Thomaskarras (Diskussion | Beiträge)
nohub
Thomaskarras (Diskussion | Beiträge)
Zeile 56: Zeile 56:
     Wie zu erwarten war, wurde der in der Shell gestartete Prozess mit dem Ende der 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.
     In einem zweiten Schritt wird das Skript "sleepproc" unabhängig von der Shell gestartet... es existiert auch nach Beendigung der Shell weiter.
== 1.1 nice ==
- Prozess mit anderer Priorität
nice [OPTION]... [COMMAND [ARG]...]
    Ein zu startendes Kommando kann durch nice eine andere als die voreingestellte Priorität gegeben werden. D.h. im Vergleich zur "normalen Priorität" erhält ein solcher Prozess prozentual weniger/mehr Rechenzeit zugeteilt.
    Ein Wert von -20 bedeutet dabei die höchste Priorität; ein Wert von 20 die geringste.
    Ein normaler Nutzer darf die Priorität eines Prozesses nur verringern (also den Wert erhöhen), nur Root kann diese erhöhen (den Wert verringern).
Beispiel
nice -n 19 gcc bigprogram.c
root@sonne> nice -n -10 inetd
    Mit renice kann die Priorität eines laufenden Prozesses beeinflusst werden.


== 1.2 renice ==
== 1.2 renice ==

Version vom 16. Oktober 2020, 09:58 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.

1.2 renice

- Prozesspriorität ändern

renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

   Prozessen kann mittels renice nachträglich eine andere Priorität zugeteilt werden. Wie auch bei nice gilt, dass einzig Root die Priorität erhöhen darf.

Beispiel

renice +10 23258

23258: Alte Priorität: 0, neue Priorität: 10
renice -10 23258
renice: 23258: setpriority: Keine Berechtigung