sched_setparam(2)

NAZWA
sched_setparam, sched_getparam - ustawia i pobiera parametry szeregowania zadań

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#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;
    ...
};

OPIS
sched_setparam() ustawia parametry szeregowania zadań, związane z właściwym algorytmem 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 wybranego algorytmu szeregowania wobec wątku identyfikowanego za pomocą pid. Algorytmy 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 algorytmu 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 algorytmami szeregowania zadań opisano w podręczniku sched(7).

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

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

BŁĘDY

EINVAL
    Nieprawidłowe argumenty: param wynosi NULL lub pid jest ujemny.

EINVAL
    (sched_setparam()) Argument param nie ma sensu w bieżącym algorytmie szeregowania zadań.

EPERM
    (sched_setparam()) Wywołujący nie ma odpowiednich przywilejów (Linux: nie ma przywileju (ang. capability) CAP_SYS_NICE).

ESRCH
    Nie znaleziono wątku o identyfikatorze równym pid.

STANDARDY
POSIX.1-2024.

HISTORIA
POSIX.1-2001.

ZOBACZ TAKŻE
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)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.