sched_setparam(2) System Calls Manual sched_setparam(2)

sched_setparam, sched_getparam - ustawia i pobiera parametry szeregowania zadań

Standardowa biblioteka C (libc, -lc)

#include <sched.h>
int sched_setparam(pid_t pid, const struct sched_param *param);
int sched_getparam(pid_t pid, struct sched_param *param);
struct sched_param {     ...     int sched_priority;     ... };

sched_setparam() ustawia parametry szeregowania zadań, związane z właściwą polityką szeregowania zada, dla wątku, którego identyfikator wątku podano w pid. Jeśli pid ma wartość zero, to ustawiane są parametry wątku wywołującego. Interpretacja argumentu param zależy od wybranej polityki wątku identyfikowanego za pomocą pid. Polityki szeregowania zadań dostępne w jądrze Linux opisano w podręczniku sched(7).

sched_getparam() pobiera parametry szeregowania zadań, odnoszące się do wątku określonego przez pid. Jeśli pid ma wartość zero, to pobierane są parametry wątku wywołującego.

sched_setparam() sprawdza czy param jest odpowiedni dla polityki szeregowania zadań dla danego wątku. Wartość param->sched_priority musi znajdować się w zakresie określonym przez sched_get_priority_min(2) i sched_get_priority_max(2).

Opis przywilejów i limitów zasobów związanych z priorytetami i politykami szeregowania zadań opisano w podręczniku sched(7).

Systemy POSIX-owe, które wspierają sched_setparam() i sched_getparam(), definiują w <unistd.h> _POSIX_PRIORITY_SCHEDULING.

Po pomyślnym zakończeniu sched_setparam() i sched_getparam() zwracają zero. Po błędzie zwracane jest -1 ustawiane errno wskazując błąd.

Nieprawidłowe argumenty: param wynosi NULL lub pid jest ujemny.
(sched_setparam()) Argument param nie ma sensu w bieżącej polityce szeregowania zadań.
(sched_setparam()) Wywołujący nie ma odpowiednich przywilejów (Linux: nie ma przywileju (ang. capability) CAP_SYS_NICE).
Nie znaleziono wątku o identyfikatorze równym pid.

POSIX.1-2008.

POSIX.1-2001.

getpriority(2), gettid(2), nice(2), sched_get_priority_max(2), sched_get_priority_min(2), sched_getaffinity(2), sched_getscheduler(2), sched_setaffinity(2), sched_setattr(2), sched_setscheduler(2), setpriority(2), capabilities(7), sched(7)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.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 6.9.1