NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |STANDARDS |HISTORY |SEE ALSO |COLOPHON | |
sched_setparam(2) System Calls Manualsched_setparam(2)sched_setparam, sched_getparam - set and get scheduling parameters
Standard C library (libc,-lc)
#include <sched.h>int sched_setparam(pid_tpid, const struct sched_param *param);int sched_getparam(pid_tpid, struct sched_param *param);struct sched_param {...intsched_priority;...};sched_setparam() sets the scheduling parameters associated with the scheduling policy for the thread whose thread ID is specified inpid. Ifpid is zero, then the parameters of the calling thread are set. The interpretation of the argumentparam depends on the scheduling policy of the thread identified bypid. Seesched(7) for a description of the scheduling policies supported under Linux.sched_getparam() retrieves the scheduling parameters for the thread identified bypid. Ifpid is zero, then the parameters of the calling thread are retrieved.sched_setparam() checks the validity ofparam for the scheduling policy of the thread. The valueparam->sched_priority must lie within the range given bysched_get_priority_min(2) andsched_get_priority_max(2). For a discussion of the privileges and resource limits related to scheduling priority and policy, seesched(7). POSIX systems on whichsched_setparam() andsched_getparam() are available define_POSIX_PRIORITY_SCHEDULINGin<unistd.h>.
On success,sched_setparam() andsched_getparam() return 0. On error, -1 is returned, anderrno is set to indicate the error.
EINVALInvalid arguments:param is NULL orpid is negativeEINVAL(sched_setparam()) The argumentparam does not make sense for the current scheduling policy.EPERM(sched_setparam()) The caller does not have appropriate privileges (Linux: does not have theCAP_SYS_NICE capability).ESRCHThe thread whose ID ispid could not be found.
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)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-05-17sched_setparam(2)Pages that refer to this page:getrlimit(2), gettid(2), sched_get_priority_max(2), sched_setattr(2), sched_setscheduler(2), syscalls(2), posix_spawn(3), capabilities(7), credentials(7), sched(7)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |