nice(2) System Calls Manual nice(2) NAZWA nice - zmienia priorytet procesu BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int nice(int inc); Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)): nice(): _XOPEN_SOURCE || /* Od glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE OPIS nice() dodaje inc do wartosci ,,nice" wywolujacego watku (wysoka wartosc ,,nice" oznacza niski priorytet). Zakres wartosci nice wynosi od +19 (niski priorytet) do -20 (wysoki priorytet). Proby ustawienia wartosci nice spoza zakresu, sa do niego ograniczane. Tradycyjnie, jedynie proces uprzywilejowany mogl zmniejszyc wartosc nice (tj. ustawic wyzszy priorytet). Jednakze od Linuksa 2.6.12, proces nieuprzywilejowany moze zmniejszyc wartosc nice procesu docelowego, majacego odpowiedni miekki limit RLIMIT_NICE; wiecej szczegolow w podreczniku getrlimit(2). WARTOSC ZWRACANA Po pomyslnym zakonczeniu zwracana jest nowa wartosc nice (lecz zob. UWAGI ponizej). W przypadku bledu zwracane jest -1 i ustawiane errno wskazujac blad. Pomyslne wywolanie moze zwrocic prawidlowa wartosc -1. Do wykrycia bledu, nalezy ustawic errno na 0 przed wywolaniem i sprawdzic czy jest niezerowa, jesli nice() zwroci -1. BLEDY EPERM Proces wywolujacy probowal zwiekszyc swoj priorytet, podajac ujemne inc, lecz nie byl wystarczajaco uprzywilejowany. W Linuksie wymagany jest przywilej (ang. capability) CAP_SYS_NICE (zob. jednak opis limitu zasobow RLIMIT_NICE w podreczniku setrlimit(2)). WERSJE Roznice biblioteki C/jadra POSIX.1 okresla, ze nice() powinno zwracac nowa wartosc nice. Surowe linuksowe wywolanie systemowe zwraca jednak w przypadku powodzenia 0. Podobnie, funkcja opakowujaca nice() z glibc 2.2.3 i wczesniejszych, rowniez zwraca 0 przy powodzeniu. Od glibc 2.2.4, funkcja opakowujaca nice() udostepniana przez glibc jest zgodna z POSIX.1, wywolujac getpriority(2) do pozyskania nowej wartosci nice, a nastepnie zwracajac ja wywolujacemu. STANDARDY POSIX.1-2008. HISTORIA POSIX.1-2001, SVr4, 4.3BSD. UWAGI Wiecej informacji o wartosci nice opisano w podreczniku sched(7). Uwaga: w zwiazku z dodaniem funkcjonalnosci ,,autogroup" w Linuksie 2.6.38, wartosc nice w wielu przypadkach nie zachowuje sie w swoj tradycyjny sposob. Wiecej informacji w podreczniku sched(7). ZOBACZ TAKZE nice(1), renice(1), fork(2), getpriority(2), getrlimit(2), setpriority(2), capabilities(7), sched(7) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.9.1 2 maja 2024 r. nice(2)