BEZEICHNUNG

nice - ändere die Prozesspriorität

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

#include <unistd.h>
int nice(int ink);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
nice():
    _XOPEN_SOURCE
        || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
        || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

nice() fügt ink zu dem Nice-Wert des aufrufenden Threads hinzu. (Ein höherer Nice-Wert bedeutet eine niedrigere Priorität.)
Der Bereich der Nice-Werte ist +19 (niedrige Priorität) bis -20 (hohe Priorität). Wird versucht, einen Nice-Wert außerhalb dieses Bereiches zu setzen, wird dieser auf diesen Bereich eingeschränkt.
Traditionell konnten nur privilegierte Prozesse den Nice-Wert senken (d.h. eine höhere Priorität setzen). Seit Linux 2.6.12. kann allerdings ein nicht privilegierter Prozess den Nice-Wert des Zielprozesses senken, der eine geeignete weiche Begrenzung RLIMIT_NICE hat, siehe getrlimit(2) für Details.

RÜCKGABEWERT

Bei Erfolg wird der neue Nice-Wert zurückgegeben (siehe aber ANMERKUNGEN unten). Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.
Ein erfolgreicher Aufruf kann den gültigen Wert -1 zurückliefern. Um einen Fehler zu erkennen, setzen Sie vor dem Aufruf errno auf 0 und prüfen Sie, ob er von Null verschieden ist, nachdem nice() -1 zurückgeliefert hat.

FEHLER

EPERM
Der aufrufende Prozess hat versucht, seine Priorität zu erhöhen, indem für ink eine negative Zahl übergeben wurde. Allerdings hat der Prozess dafür keine ausreichenden Privilegien. Unter Linux ist die Capability CAP_SYS_NICE erforderlich (siehe aber auch die Erläuterung der Ressourcenbeschränkung RLIMIT_NICE in setrlimit(2)).

STANDARDS

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. Allerdings ist der Rückgabewert unter Linux und (G)libc (vorGlibc 2.2.4) nicht standardisiert, siehe unten.

ANMERKUNGEN

Für weitere Details über den Nice-Wert siehe sched(7).
Hinweis: Die Hinzunahme der Funktionalität »autogroup« in Linux 2.6.38 bedeutet, dass der Nice-Wert in vielen Situationen nicht mehr seinen traditionellen Effekt erreicht. Für Details siehe sched(7).

Unterschiede C-Bibliothek/Kernel

POSIX.1 legt fest, dass nice() den neuen Nice-Wert zurückgeben soll. Allerdings gibt der rohe Linux-Systemaufruf bei Erfolg Null zurück. Entsprechend liefert die durch Glibc 2.2.3 und älter bereitgestellte Wrapper-Funktion nice() im Erfolgsfall Null zurück.
Seit Glibc 2.2.4 stellt die durch Glibc bereitgestellte Wrapperfunktion von nice() Konformität zu Posix.1 dar, indem sie getpriority(2) aufruft, um den neue Nice-Wert zu ermitteln, der dann dem Aufrufenden zurückgeliefert wird.

SIEHE AUCH

nice(1), renice(1), fork(2), getpriority(2), getrlimit(2), setpriority(2), capabilities(7), sched(7)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Elmar Jansen <[email protected]>, Martin Schulze <[email protected]>, Martin Eberhard Schauer <[email protected]>, Dr. Tobias Quathamer <[email protected]> und Mario Blättermann <[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer