NICE(2) Linux-Programmierhandbuch NICE(2)

nice - ändere die Prozesspriorität

#include <unistd.h>
int nice(int ink);
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

nice():

_XOPEN_SOURCE
    || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
    || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

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.

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.

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

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.

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

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.

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

Diese Seite ist Teil der Veröffentlichung 5.11 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/.

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.

22. März 2021 Linux