Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

nice - Priorität eines Prozesses ändern

&pagelevel(4)&pagelevel

Definition

#include <unistd.h>

int nice(int incr);

Beschreibung

nice() addiert den Wert von incr auf den Prioritätswert des aufrufenden Prozesses. Im C-Laufzeitsystem hat die Veränderung von incr jedoch keine Auswirkung auf die Prioriät eines Prozesses. Die Funktion wird nur aus Kompatibilitätsgründen zu XPG4 angeboten.

Ein Prioritätswert ist eine nichtnegative ganze Zahl, bei der aus einem höheren Wert eine niedrigere Prozessor-Priorität resultiert. Ein maximaler Prioritätswert von 2*{NZERO}-1 und ein minimaler Prioritätswert von 0 werden durch das System festgelegt (siehe limits.h). Anforderungen für Werte oberhalb oder unterhalb dieser Grenzen bewirken, dass der Prioritätswert auf den entsprechenden Grenzwert gesetzt wird. Nur ein Prozess mit geeigneten Zugriffsrechten kann den Prioritätswert erniedrigen.

Werden Threads verwendet, so wirkt sich die Funktion auf den Prozess oder auf einen Thread wie folgt aus: Ändert die Priorität eines Prozesses. Wenn der Prozess ”multithreaded” ist, wirkt sich die Scheduling-Priorität auf alle Threads des Prozesses mit system scope aus.

Returnwert

neuer Prioritätswert abzüglich {NZERO}



bei erfolgreicher Beendigung.

 

-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen. Der Prioritätswert des aufrufenden Prozesses bleibt unverändert.

Fehler

nice() schlägt fehl, wenn gilt:


EPERM

incr ist negativ oder größer als 2*{NZERO}-1 und der aufrufende Prozess besitzt keine Sonderrechte.

Hinweis

Da bei Erfolg auch -1 zurückgeliefert werden kann, sollte eine Anwendung zur Überprüfung von Fehlersituationen errno vor dem Aufruf von nice() gleich 0 setzen und dann nice() aufrufen. Wenn -1 zurückgeliefert wird, dann sollte sie prüfen, ob errno ungleich 0 ist.

Siehe auch

limits.h, limits.h, unistd.h.