Provided by: manpages-dev_2.17-1_all bug

NAME

       sched_setparam, sched_getparam - set and get scheduling parameters

SYNOPSIS

       #include <sched.h>

       int sched_setparam(pid_t pid, const struct sched_param *p);

       int sched_getparam(pid_t pid, struct sched_param *p);

       struct sched_param {
           ...
           int sched_priority;
           ...
       };

DESCRIPTION

       sched_setparam()  sets  the  scheduling  parameters associated with the
       scheduling policy for the process identified by pid. If  pid  is  zero,
       then  the parameters of the current process are set. The interpretation
       of the parameter p depends  on  the  selected  policy.  Currently,  the
       following   three   scheduling  policies  are  supported  under  Linux:
       SCHED_FIFO, SCHED_RR, and SCHED_OTHER.

       sched_getparam() retrieves the scheduling parameters  for  the  process
       identified  by  pid. If pid is zero, then the parameters of the current
       process are retrieved.

       sched_setparam() checks the validity of p for the scheduling policy  of
       the  process. The parameter p->sched_priority must lie within the range
       given by sched_get_priority_min and sched_get_priority_max.

       For a discussion of the  privileges  and  resource  limits  related  to
       scheduling priority and policy, see sched_setscheduler(2).

       POSIX  systems  on  which  sched_setparam()  and  sched_getparam()  are
       available define _POSIX_PRIORITY_SCHEDULING in <unistd.h>.

RETURN VALUE

       On success, sched_setparam() and sched_getparam() return 0.  On  error,
       -1 is returned, errno is set appropriately.

ERRORS

       EINVAL The  parameter  p does not make sense for the current scheduling
              policy.

       EPERM  The calling process does not have appropriate privileges (Linux:
              does not have the CAP_SYS_NICE capability).

       ESRCH  The process whose ID is pid could not be found.

CONFORMING TO

       POSIX.1b (formerly POSIX.4)

SEE ALSO

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

       sched_setscheduler(2) has a description of the Linux scheduling scheme.

       Programming  for  the  real  world  -  POSIX.4  by Bill O. Gallmeister,
       O’Reilly & Associates, Inc., ISBN 1-56592-074-0
       IEEE Std 1003.1b-1993 (POSIX.1b standard)
       ISO/IEC 9945-1:1996