以下接口调用可控制进程调度。
对活动类调度的控制是通过 priocntl(2) 实现的。通过 fork(2) 和 exec(2) 可继承类属性连同调度参数以及优先级控制所需的权限。RT 和 TS 类都采用这种继承。
priocntl(2) 是用于指定实时进程、一组进程或应用系统调用的类的接口。priocntlset(2) 还提供了更为通用的接口,用于指定应用系统调用的一整组进程。
priocntl(2) 的命令参数可以是以下各项之一:PC_GETCID、PC_GETCLINFO、PC_GETPARMS 或 PC_SETPARMS。调用过程的实际或有效 ID 必须与受影响进程的实际或有效 ID 相匹配,或者必须具有超级用户权限。
此命令采用包含可识别类名称的结构的名称字段。将返回类 ID 以及类属性数据数组。
此命令采用包含可识别类标识符的结构的 ID 字段。将返回类名称以及类属性数据数组。
此命令将返回其中一个指定进程的调度类标识符或特定于类的调度参数。即使 idtype 和 id 可能会指定许多 ID 类型和 ID,但是 PC_GETPARMS 仅返回一个进程的参数。类可选择进程。
此命令用于设置一个或多个指定进程的调度类或特定于类的调度参数。
返回指定策略的最大值。
返回指定策略的最小值。有关更多信息,请参见 sched_get_priority_max(3R) 手册页。
将指定的 timespec 结构更新到当前执行时间限制。有关更多信息,请参见 sched_get_priority_max(3RT) 手册页。
设置或获取指定进程的调度参数。
阻塞调用进程直到调用进程返回到进程列表的顶部为止。