Linux C语言库函数参考 — nice

原创 2006年05月20日 16:35:00

【函 数 名】nice — 调整进程运行的优先级

【函数原型】int nice(int inc);

【相关头文件】unistd.h

【函数说明】

在Linux中,进程运行的优先级分为-20~19等40个级别,其中,数值越小运行优先级越高,数值越大运行优先级越低。显而易见,优先级 -20的运行优先级最高,优先级19的运行优先级最低。函数nice是将当前进程运行的优先级增加指定值,既用当前进程运行的优先级加上指定值得到新的优先级,然后用新的优先级运行该进程。当计算出来的值小于-20,则进程将以优先级-20运行;当计算出来的值大于19,则进程将以优先级19运行。若增加正值,则表示降低进程运行优先级;若增加负值,则表示升高进程运行优先级。但只有具有超级用户权限的用户才可以以负数作为函数的参数,否则该函数将返回错误。

【参数说明】

inc [IN] 指定优先级增加的值

【函数返回值】

若操作成功,函数将返回调整后的进程运行的优先级;

若操作失败,函数将返回-1。

注意:当函数返回-1时,不一定就是函数操作失败。因为若函数成功调整进程运行优先级后的优先级为-1,函数也返回-1,所以在判断函数是否操作失败时,除了判断函数返回的值是否为-1外,还需要查看 errno的值是否为相关错误码,详见“程序示例”。

【相关错误码】

EACCES 无操作权限,既非超级用户权限的用户用负值作为参数调用该函数。

【程序示例】

  1. #include <stdio.h>    /* printf */
  2. #include <stdlib.h>   /* atoi, system, exit */
  3. #include <errno.h>    /* errno */
  4. #include <string.h>   /* strerror */
  5. #include <unistd.h>   /* nice */
  6.
  7. int main(int argc, char *argv[])
  8. {
  9.     int adjustment = 0;
 10.     int ret;
 11.     if ( argc > 1 ) {
 12.         adjustment = atoi( argv[1] );
 13.     }
 14.     ret = nice( adjustment );
 15.     printf( "nice(%d):%d/n", adjustment, ret );
 16.     if ( -1 == ret ) {
 17.         if ( errno == EACCES ) {
 18.             printf( "Cannot set priority:%s./n", strerror( errno ) );
 19.             exit(-1);
 20.         }
 21.     }
 22.     system("nice");
 23.     exit(0);
 24. }
 

参考文献:

[1] Linux man pages

C语言常用库函数(含详细用法)

一、数学函数 调用数学函数时,要求在源文件中包下以下命令行: #include 函数原型说明 功能 返回值 说明 int abs...
  • qq_36955347
  • qq_36955347
  • 2017年05月09日 21:14
  • 3499

C语言库函数大全

C语言库函数手册分类函数,所在函数库为 ctype.hint isalpha(int ch)  若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch...
  • YANFAN0916
  • YANFAN0916
  • 2011年05月27日 16:25
  • 4211

C语言函数库大全(最新完整版)

  • 2008年04月13日 21:02
  • 130KB
  • 下载

【C】C语言标准库函数总结

1、存储分配 2、随机数生成 3、数字转换 4、环境通信 5、搜索与排序 6、整型算术 7、多字节、宽字符和字符串转换 8、时间与日期 9、区域设置 10、其它 1、存储分配 void* ma...
  • iEearth
  • iEearth
  • 2015年05月14日 09:15
  • 2377

C语言中自己写几个简单的库函数

在C语言的学习中我们总会遇到一些看似看简单的问题,比如求字符串的长度,判断一个字符串中是否包含一个给定的子字符串,又或者怎么将一个字符串逆序输出,甚至是部分逆序输出,这些问题看似都挺简单,因为我们早已...
  • Loving_Forever_
  • Loving_Forever_
  • 2016年04月06日 21:39
  • 2613

常用ANSI C语言标准库函数汇总(一)

常用ANSI C语言标准库函数汇总(一)C语言被发明出来时并没有什么库函数,随着C语言的流行,越来越多的厂商和组织开始提供C语言的编译器,同时把经常用到的函数封装成“库”的形式发布。后来,美国国家标准...
  • NevarMovin
  • NevarMovin
  • 2017年04月30日 12:11
  • 777

c语言库函数大全

  • 2015年10月18日 12:29
  • 573KB
  • 下载

C语言库函数功能查询器

  • 2010年03月26日 21:31
  • 323KB
  • 下载

C语言中最常用标准库函数

标准头文件包括:                                                                                一、标准定义(...
  • J8121
  • J8121
  • 2016年10月27日 16:29
  • 2195

C语言库函数源代码大全

  • 2008年11月27日 02:21
  • 925KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux C语言库函数参考 — nice
举报原因:
原因补充:

(最多只允许输入30个字)