内容简介
#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%uA0pid. If%uA0pid%uA0is zero, then the parameters of the current process are set. The interpretation of the parameter%uA0paramꃞpends on the scheduling policy of the process identified by%uA0pid. See%uA0sched_setscheduler(2) for a description of the scheduling policies supported under Linux.sched_getparam() retrieves the scheduling parameters for the process identified by%uA0pid. If%uA0pid%uA0is zero, then the parameters of the current process are retrieved.
sched_setparam() checks the validity of%uA0param%uA0for the scheduling policy of the process. The parameter%uA0param->sched_priority%uA0must lie within the range given bysched_get_priority_min(2) and%uA0sched_get_priority_max(2).
For a discussion of the privileges and resource limits related to scheduling priority and policy, see%uA0sched_setscheduler(2).
POSIX systems on which%uA0sched_setparam() and%uA0sched_getparam() are available define_POSIX_PRIORITY_SCHEDULING%uA0in <unistd.h>.
返回值
On success,%uA0sched_setparam() and%uA0sched_getparam() return 0. On error, -1 is returned, and%uA0errno%uA0is set appropriately.错误
标签 | 描述 |
---|---|
EINVAL | The parameter%uA0param%uA0does not make sense for the current scheduling policy. |
EPERM | The calling process does not have appropriate privileges (Linux: does not have the%uA0CAP_SYS_NICEꃊpability). |
ESRCH | The process whose ID is%uA0pid%uA0could not be found. |