SCHED_SETPARAM - Linux手册页
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。
另外参见
getpriority(2),gettid(2),nice(2),sched_get_priority_max(2),sched_get_priority_min(2),sched_getaffinity(2),sched_getscheduler(2),sched_setaffinity(2),sched_setattr(2),sched_setattr(2), setpriority(2),capabilities(7),sched(7)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。