sched_setparam - set the scheduling parameters of a process
int sched_setparam (pid_t pid<b>, const struct sched_param *param<b>);
The sched_setparam system call is used to set the scheduling policy
parameters for the process specified by pid. If pid is set to zero, then
the scheduling parameters of the calling process will be affected.
The scheduling parameters of pid are specified by the parameter structure
at address param.
The priority of the target process may be modified by setting the desired
priority value in the sched_priority field of the param structure.
Unlike IRIX 6.2 and earlier releases, processes having a higher numerical
priority value are more important than processes having a lower numerical
priority value. Specified priorities remain fixed, unless explicitly
changed in the future, and are not affected by priority aging schemes.
The priority range for these scheduling policies may be obtained via the
sched_get_priority_min(2) and sched_get_priority_max(2) function calls.
However, arbitrary priority values within the range should not be used.
Developers must consider the needs of the application and how it should
interact with the rest of the system, before selecting a real-time
priority. For more information, see the "Real-Time Priority Band"
section of realtime(5).
The calling process must have the CAP_SCHED_MGT capability [see
capability] to successfully execute sched_setparam.
If the process specified by pid is currently executing or is in a
runnable state, sched_setparam causes the process to be rescheduled at
its new priority.
sched_setparam will fail if one or more of the following are true:
[EINVAL] One of the specified parameters at address param are out
of range or scope.
[EPERM] The calling process does not have the CAP_SCHED_MGT
[ESRCH] The process specified by pid does not exist.
capability(4), realtime(5), sched_getparam(2), sched_getscheduler(2),
sched_setscheduler(2), sched_yield(2), sched_get_priority_max(2),
sched_get_priority_min(2), sched_rr_get_interval(2), pthreads(5)
Upon successful completion, a value of 0 is returned to the calling
process. Otherwise, a value of -1 is returned and errno is set to
indicate the error.
PPPPaaaaggggeeee 2222 [ Back ]