SCHED_SETPARAM - Linux手册页

时间:2019-08-20 17:59:18  来源:igfitidea点击:

Linux程序员手册 第2部分
更新日期: 2019-10-10

名称

sched_setparam,sched_getparam-设置和获取调度参数

语法

#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()设置与线程的调度策略相关联的调度参数,该线程的线程ID在pid中指定。如果pid为零,则设置调用线程的参数。参数param的解释取决于pid标识的线程的调度策略。有关Linux下支持的调度策略的说明,请参见sched(7)。

sched_getparam()检索pid标识的线程的调度参数。如果pid为零,则检索调用线程的参数。

sched_setparam()检查线程的调度策略的参数有效性。值param-> sched_priority必须位于sched_get_priority_min(2)和sched_get_priority_max(2)给定的范围内。

有关与调度优先级和策略有关的特权和资源限制的讨论,请参见sched(7)。

可以使用sched_setparam()和sched_getparam()的POSIX系统在中定义了_POSIX_PRIORITY_SCHEDULING。

返回值

成功时,sched_setparam()和sched_getparam()返回0。错误时,返回-1,并正确设置errno。

错误说明

EINVAL
无效的参数:param为NULL或pid为负
EINVAL
(sched_setparam())参数param对于当前的调度策略没有意义。
EPERM
(sched_setparam())调用者没有适当的特权(Linux:不具有CAP_SYS_NICE功能)。
ESRCH
找不到ID为pid的线程。

遵循规范

POSIX.1-2001,POSIX.1-2008。

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/