更正"nice"POSIX批处理程序的调度优先级

Correct "nice" POSIX scheduling priority for batch processing program

我正在开发一个批量图像处理程序,该程序不需要用户关注并且需要为此进程选择优先级。

超级用户可以设置从 PRI_MIN (-20) 到 PRI_MAX (+20) 的值,普通用户可以设置从 0 到 PRI_MAX 的值。默认级别为零。

在 Mac OS X 10.11 上,man nice(1) 文档讨论了优先级并注意与 POSIX.2(IEEE 标准 1003.2-1992)的一致性。但是,此文档是 not publicly available and, also, has been superseded.

除了随机选择 0 到 20 之间的数字之外,是否有规定的、有意义的方法来根据某些 POSIX 或 Mac 标准来选择优先级?

批处理优先级通常是 OS 特定的,通常不包含在 POSIX 中。

勾选sched.h header, and the function sched_get_priority_min。与 nice.

相比,这是一个更新更高级的界面

Linux 还支持 SCHED_BATCHSCHED_IDLE 策略,而 Mac OS X 提供了完全不同的接口 Grand Central DispatchDISPATCH_QUEUE_PRIORITY_BACKGROUND.