nice() - Unix 和 Linux 系统调用
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于 TP  

nice() - Unix 和 Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

nice - 更改进程优先级

语法

#include <unistd.h>

int nice(int inc);

描述

nice() 将inc添加到调用进程的 nice 值。(较高的 nice 值表示较低的优先级。)只有超级用户才能指定负增量或优先级提升。nice 值的范围在getpriority(2) 中进行了描述。

返回值

成功时,返回新的 nice 值(但请参见下面的注释)。错误时,返回 -1,并且errno被相应地设置。

错误

标签描述
EPERM 调用进程尝试通过提供负inc来提高其优先级,但权限不足。在 Linux 下,需要CAP_SYS_NICE 功能。(但请参见setrlimit(2) 中RLIMIT_NICE 资源限制的讨论。)

符合标准

SVr4、4.3BSD、POSIX.1-2001。但是,Linux 和 (g)libc(早于 glibc 2.2.4)的返回值是非标准的,请参见下文。SVr4 文档中记录了额外的 EINVAL 错误代码。

注释

SUSv2 和 POSIX.1-2001 指定nice() 应该返回新的 nice 值。但是,Linux 系统调用和 (g)libc(早于 glibc 2.2.4)的旧版本中提供的nice() 库函数在成功时返回 0。可以使用getpriority(2) 找到新的 nice 值。

从 glibc 2.2.4 开始,nice() 实现为一个库函数,它调用getpriority(2) 以获取要返回给调用者的新的 nice 值。使用此实现,成功的调用可以合法地返回 -1。要可靠地检测错误,在调用之前将errno设置为 0,并在nice() 返回 -1 时检查其值。

参见



previous next Printer Friendly

广告


  

广告



广告