.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1980, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)getpriority.2 6.9 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-07-01 by Andries Brouwer .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 2001-10-21 by Michael Kerrisk .\" Corrected statement under EPERM to clarify privileges required .\" Modified 2002-06-21 by Michael Kerrisk .\" Clarified meaning of 0 value for 'who' argument .\" Modified 2004-05-27 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getpriority 2 "2 maja 2024 r." "Linux man\-pages 6.8" .SH NAZWA getpriority, setpriority \- pobiera/ustawia priorytet programu podczas szeregowania zadań .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .P \fBint getpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB);\fP \fBint setpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB, int \fP\fIprio\fP\fB);\fP .fi .SH OPIS Priorytet procesu, grupy procesów, lub użytkownika podczas szeregowania zadań, wskazywany przez \fIwhich\fP i \fIwho\fP jest uzyskiwany za pomocą wywołania \fBgetpriority()\fP, a ustawiany za pomocą wywołania \fBsetpriority\fP. Atrybut procesu, na którym działają niniejsze wywołania systemu jest tym samym atrybutem (znanym również jako wartość \[Bq]nice\[rq]), na którym działa \fBnice\fP(2). .P Wartość \fIwhich\fP jest jedną z: \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP lub \fBPRIO_USER\fP, a \fIwho\fP jest interpretowane względem \fIwhich\fP (identyfikator procesu dla \fBPRIO_PROCESS\fP, identyfikator grupy procesów dla \fBPRIO_PGRP\fP i identyfikator użytkownika dla \fBPRIO_USER\fP). Zerowa wartość \fIwho\fP określa (odpowiednio) proces wywołujący, grupę procesów procesu wywołującego lub rzeczywisty identyfikator użytkownika procesu wywołującego. .P \fIprio\fP jest wartością z zakresu od \-20 do 19 (lecz zob. UWAGI poniżej), gdzie \-20 jest najwyższym priorytetem, a 19 jest najniższym priorytetem. Próby ustawienia priorytetu spoza tego przedziału, są po cichu ograniczane do obowiązującego przedziału. Domyślnym priorytetem jest 0; mniejsze wartości dają procesowy wyższy priorytet podczas szeregowania zadań. .P Wywołanie \fBgetpriority\fP() zwraca najwyższy priorytet (najniższą wartość numeryczną), spośród posiadanych przez którykolwiek z podanych procesów. Wywołanie \fBsetpriority\fP() ustawia priorytety wszystkich podanych procesów na wskazaną wartość. .P 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 \fBRLIMIT_NICE\fP; więcej szczegółów w podręczniku \fBgetrlimit\fP(2). .SH "WARTOŚĆ ZWRACANA" Po pomyślnym zakończeniu \fBgetpriority\fP() zwraca wartość nice wywołującego wątku, która może być liczbą ujemną. Po błędzie zwraca \-1 i ustawia \fIerrno\fP wskazując błąd. .P Ze względu na fakt, że pomyślne wywołanie do \fBgetpriority\fP() może zwrócić poprawną wartość \-1, konieczne jest wyczyszczenie \fIerrno\fP przed wywołaniem, a następnie sprawdzenie \fIerrno\fP po nim, aby określić czy wartość \-1 jest błędem, czy poprawną wartością nice. .P \fBsetpriority\fP() zwraca 0 po pomyślnym zakończeniu. W przypadku błędu zwraca \-1 i ustawia \fIerrno\fP wskazując jego rodzaj. .SH BŁĘDY .TP \fBEACCES\fP Wywołujący próbował obniżyć wartość nice (tj. ustawić wyższy priorytet procesu), ale nie posiadał odpowiednich przywilejów (na Linuksie: nie posiadał przywileju (ang. capability) \fBCAP_SYS_NICE\fP). .TP \fBEINVAL\fP \fIwhich\fP nie był jednym z \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP lub \fBPRIO_USER\fP. .TP \fBEPERM\fP Proces został zlokalizowany, ale jego efektywny identyfikator użytkownika nie pasował ani do efektywnego, ani do rzeczywistego identyfikatora użytkownika wywołującego i nie był on uprzywilejowany (na Linuksie: nie posiadał przywileju \fBCAP_SYS_NICE\fP). Zob. jednakże UWAGI poniżej. .TP \fBESRCH\fP Nie zlokalizowano żadnego procesu przy użyciu podanych wartości \fIwhich\fP i \fIwho\fP. .SH STANDARDY POSIX.1\-2008. .SH HISTORIA POSIX.1\-2001, SVr4, 4.4BSD (interfejsy te pierwotnie pojawiły się w 4.2BSD). .SH UWAGI Więcej informacji o wartości nice opisano w podręczniku \fBsched\fP(7). .P \fIUwaga\fP: w związku z dodaniem funkcjonalności \[Bq]autogroup\[rq] 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 \fBsched\fP(7). .P Proces potomny utworzony za pomocą \fBfork\fP(2) dziedziczy wartość nice swojego procesu macierzystego. Wartość nice jest zachowywana przez \fBexecve\fP(2). .P .\" Szczegółowe warunki wystąpienia błędu \fBEPERM\fP zależą od systemu. Powyżej opisano co mówi na ten temat POSIX.1\-2001, z którym wydają się być zgodne wszystkie systemy typu System\ V. Jądra Linux przed Linuksem 2.6.12 wymagały, aby rzeczywisty lub efektywny ID użytkownika wywołującego zgadzał się z rzeczywistym użytkownikiem procesu \fIwho\fP (zamiast z jego efektywnym ID użytkownika). Linux 2.6.12 i późniejsze wymaga, aby efektywny identyfikator użytkownika wywołującego zgadzał się z rzeczywistym lub efektywnym ID użytkownika procesu \fIwho\fP. Wszystkie systemy typu BSD (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD\-2.5, ...) zachowują się w ten sam sposób jak Linux 2.6.12 i późniejsze. .SS "Różnice biblioteki C/jądra" Wywołanie systemowe getpriority zwraca wartości nice przetłumaczone na zakres 40..1, ponieważ wartość negatywna zostałaby zinterpretowana jako błąd. Funkcja opakowująca glibc dla \fBgetpriority\fP() tłumaczy tą wartość z powrotem, zgodnie z wzorem \fIunice\ =\ 20\ \-\ knice\fP (zatem zakres 40..1 zwracany przez jądro powraca do zakresu \-20..19 widzianego przez przestrzeń użytkownika). .SH USTERKI Zgodnie z POSIX, wartość nice jest ustawieniem przypisanym procesowi. Jednak w aktualnej implementacji Linuksa/NPTL wątków POSIX, wartość nice jest atrybutem przypisanym wątkowi: różne wątki tego samego procesu mogą mieć różne wartości nice. Przenośne aplikacje powinny unikać polegania na zachowaniu Linuksa, które może w przyszłości ulec zmianie na zgodne ze standardami. .SH "ZOBACZ TAKŻE" \fBnice\fP(1), \fBrenice\fP(1), \fBfork\fP(2), \fBcapabilities\fP(7), \fBsched\fP(7) .P \fIDocumentation/scheduler/sched\-nice\-design.txt\fP w drzewie źródeł jądra Linux (od Linuksa 2.6.23) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys , Andrzej Krzysztofowicz i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .