table of contents
nice(2) | System Calls Manual | nice(2) |
NAZWA¶
nice - zmienia priorytet procesu
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#include <unistd.h>
int nice(int inc);
nice():
_XOPEN_SOURCE
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
OPIS¶
nice() dodaje inc do wartości „nice” wywołującego wątku (wysoka wartość „nice” oznacza niski priorytet).
Zakres wartości nice wynosi od +19 (niski priorytet) do -20 (wysoki priorytet). Próby ustawienia wartości nice spoza zakresu, są do niego ograniczane.
Tradycyjnie, jedynie proces uprzywilejowany mógł zmniejszyć wartość nice (tj. ustawić wyższy priorytet). Jednakże od Linuksa 2.6.12, proces nieuprzywilejowany może zmniejszyć wartość nice procesu docelowego, mającego odpowiedni miękki limit RLIMIT_NICE; więcej szczegółów w podręczniku getrlimit(2).
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu zwracana jest nowa wartość nice (lecz zob. UWAGI poniżej). W przypadku błędu zwracane jest -1 i ustawiane errno wskazując błąd.
Pomyślne wywołanie może zwrócić prawidłową wartość -1. Do wykrycia błędu, należy ustawić errno na 0 przed wywołaniem i sprawdzić czy jest niezerowa, jeśli nice() zwróci -1.
BŁĘDY¶
- EPERM
- Proces wywołujący próbował zwiększyć swój priorytet, podając ujemne inc, lecz nie był wystarczająco uprzywilejowany. W Linuksie wymagany jest przywilej (ang. capability) CAP_SYS_NICE (zob. jednak opis limitu zasobów RLIMIT_NICE w podręczniku setrlimit(2)).
WERSJE¶
Różnice biblioteki C/jądra¶
POSIX.1 określa, że nice() powinno zwracać nową wartość nice. Surowe linuksowe wywołanie systemowe zwraca jednak w przypadku powodzenia 0. Podobnie, funkcja opakowująca nice() z glibc 2.2.3 i wcześniejszych, również zwraca 0 przy powodzeniu.
Od glibc 2.2.4, funkcja opakowująca nice() udostępniana przez glibc jest zgodna z POSIX.1, wywołując getpriority(2) do pozyskania nowej wartości nice, a następnie zwracając ją wywołującemu.
STANDARDY¶
POSIX.1-2008.
HISTORIA¶
POSIX.1-2001, SVr4, 4.3BSD.
UWAGI¶
Więcej informacji o wartości nice opisano w podręczniku sched(7).
Uwaga: w związku z dodaniem funkcjonalności „autogroup” w Linuksie 2.6.38, wartość nice w wielu przypadkach nie zachowuje się w swój tradycyjny sposób. Więcej informacji w podręczniku sched(7).
ZOBACZ TAKŻE¶
nice(1), renice(1), fork(2), getpriority(2), getrlimit(2), setpriority(2), capabilities(7), sched(7)
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
2 maja 2024 r. | Linux man-pages (niewydane) |