zoukankan      html  css  js  c++  java
  • Linux C语言库函数参考 — nice

    ps -o nice,comm

    【函 数 名】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

  • 相关阅读:
    Linux入门第三天——more,less,head,tail,ls 用户权限
    linux 入门第一天
    python入门第八天 摘自--廖雪峰python课程
    python入门第七天
    匿名函数
    返回函数
    高阶函数之filter 和 sorted
    map,reduce高阶函数
    高阶函数 巩固
    装饰器
  • 原文地址:https://www.cnblogs.com/cute/p/2241258.html
Copyright © 2011-2022 走看看