Scroll to navigation

NICE(2) Linux-Programmierhandbuch NICE(2)

BEZEICHNUNG

nice - ändere die Prozesspriorität

Ü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-Versionen <= 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 entsprechend gesetzt.

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

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)).

KONFORM ZU

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)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Elmar Jansen <ej@pumuckel.gun.de>, Martin Schulze <joey@infodrom.org>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer <toddy@debian.org> und Mario Blättermann <mario.blaettermann@gmail.com> 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.

15. September 2017 Linux