sched_setparam, sched_getparam — set and get scheduling parameters
#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
() sets the
scheduling parameters associated with the scheduling policy
for the process identified by pid
. If pid
is zero, then the
parameters of the calling process are set. The interpretation
of the argument param
depends on the scheduling policy of the process identified by
pid
. See sched_setscheduler(2) for a
description of the scheduling policies supported under
Linux.
sched_getparam
() retrieves
the scheduling parameters for the process identified by
pid
. If pid
is zero, then the
parameters of the calling process are retrieved.
sched_setparam
() checks the
validity of param
for
the scheduling policy of the process. The value param−>sched_priority
must lie within the range given by sched_get_priority_min(2)
and sched_get_priority_max(2).
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
>
On success, sched_setparam
()
and sched_getparam
() return 0.
On error, −1 is returned, and errno
is set appropriately.
The argument param
does not make sense
for the current scheduling policy.
The calling process does not have appropriate
privileges (Linux: does not have the CAP_SYS_NICE
capability).
The process whose ID is pid
could not be
found.
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)
Programming for the real world − POSIX.4 by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0