【命令】nice — 调整程序运行的优先级

【格式】nice [OPTION] [command [arguments...]]

【说明】

在当前程序运行优先级基础之上调整指定值得到新的程序运行优先级,用新的程序运行优先级运行命令行"command [arguments...]"。优先级的范围为-20 ~ 19 等40个等级,其中数值越小优先级越高,数值越大优先级越低,既-20的优先级最高, 19的优先级最低。若调整后的程序运行优先级高于-20,则就以优先级-20来运行命令行;若调整后的程序运行优先级低于19,则就以优先级19来运行命令行。若 nice命令未指定优先级的调整值,则以缺省值10来调整程序运行优先级,既在当前程序运行优先级基础之上增加10。

若不带任何参数运行命令nice,则显示出当前的程序运行优先级。

例1:

1. # nice
           2. 0
           3. #

在例1中,不用任何参数执行命令"nice"(见第1行),所以显示出当前的程序运行优先级为0(见第2行)。由此可知系统缺省的程序运行优先级为0。

例2:

1. # nice nice
           2. 10
           3. #

在例2中,第1个nice命令以缺省值来调整第2个nice命令运行的优先级,既在系统缺省的程序运行优先级0的基础之上增加10,得到新的程序运行优先级10,然后以优先级10来运行第2个nice命令;第2个nice命令显示当前程序运行的优先级为10。

例3:

1. # nice nice nice
           2. 19
           3. #

在例3中,第1个nice命令以缺省值来调整第2个nice命令运行的优先级,既在系统缺省的程序运行优先级0的基础之上增加10,得到新的程序运行优先级10,然后以优先级10来运行第2个nice命令;第2个nice命令又以缺省值来调整第3个nice命令运行的优先级,既在第2个nice命令运行优先级基础之上再增加10,得到新的程序运行优先级20,但20大于最高程序运行优先级19,所以以优先级19来运行第3个nice命令;第3个nice命令显示当前程序运行的优先级为19。

【参数说明】

-n, --adjustment=ADJUST 指定程序运行优先级的调整值。

优先级的范围为-20~19,当调整后的优先级小于-20时,以优先级-20 来运行程序(见例4);当调整后的优先级大于19时,则以19的优先级运行程序(见例5)。

例4:

1. # nice -n -21 nice
           2. -20
           3. #

在例4中,以参数“-n”的形式指定程序运行优先级的调整值,系统缺省优先级0加上调整值-21得到新的优先级-21(小于-20),因此程序最终的运行优先级为-20。

例5:

1. # nice --adjustment=20 nice
           2. 19
           3. #

在例5中,以参数“--adjustment=ADJUST”的形式指定程序运行优先级的调整值,系统缺省优先级0加上调整值20得到新的优先级20(大于19),因此程序最终的运行优先级为19。

注意:在使用“--adjustment=ADJUST”形式指定程序运行优先级的调整值时,中间的等号可以省略。在例5中,也可运行命令行“nice --adjustment 20 nice”。

还可以使用参数“-ADJUST”的形式来指定程序运行优先级的调整值,其中,ADJUST为指定的程序运行优先级调整值,可以为负数,也可以为正数,如例6所示。

例6:

1. # nice --1 nice
           2. -1
           3. # nice -+1 nice
           4. 1
           5. # nice -1 nice
           6. 1
           7. #

在例6中,参数“--1”、“-+1”和 “-1”中的第一个字符“-”都是语法定义的指定程序运行优先级调整值的标志符,第一个字符“-”之后的值为指定的程序运行优先级的调整值。

在nice命令中,可以同时指定多个程序运行优先级调整值,但只有最后一次指定的数值有效,如例7所示。

例7:

1. # nice -n -20 --adjustment +19 -3 nice
           2. 3
           3. #

在例7中,通过命令行同时指定了优先级调整值“-20”、“+9”和“3”,但最后生效的程序运行优先级调整值为最后指定的数值“3”。

注意:只有具有root权限的用户才可以调整高程序运行的优先级,既指定的调整值可以为负数,如例8所示。

例8:

1. # su thinkerABC
           2. $ nice -n -1 nice
           3. nice: cannot set priority: Permission denied
           4. $ nice -n 1 nice
           5. 1
           6. $

在例8中,我们将用户改为非root用户权限的thinkerABC,这时调高程序运行优先级1个级别时操作失败,系统提示权限不足。而调低优先级1个级别时,操作就可以成功。

--help 显示nice命令的帮助信息,详见例9。

例9:

1. # nice --help
           2. Usage: nice [OPTION] [COMMAND [ARG]...]
           3. Run COMMAND with an adjusted scheduling priority.
           4. With no COMMAND, print the current scheduling priority. ADJUST is 10
           5. by default. Range goes from -20 (highest priority) to 19 (lowest).
           6.
           7. -n, --adjustment=ADJUST increment priority by ADJUST first
           8.      --help display this help and exit
           9.      --version output version information and exit
         10.
         11. Report bugs to <bug-sh-utils@gnu.org>.
         12. #

在例9中,用参数“--help”执行nice命令,则显示该命令的帮助信息,见例9的第2行~第11行。

--version 输出nice命令的版本信息,详见例10。

例10:

1. # nice --version
           2. nice (GNU sh-utils) 2.0.12
           3. Written by David MacKenzie.
           4.
           5. Copyright (C) 2002 Free Software Foundation, Inc.
           6. This is free software; see the source for copying conditions. There is NO
           7. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
           8. #

在例10中,用参数“--version”运行nice命令,则显示该命令的版本信息,见例10的第2行~第7行。(注:本例是在Red Hat 8.0下运行的结果。)

参考文献:

[1] Linux man pages

Linux命令详解nice的更多相关文章

  1. Linux命令详解之—tail命令

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  2. Linux命令详解之—less命令

    Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...

  3. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  4. 【转】linux命令详解:md5sum命令

    [转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...

  5. Linux命令详解之—cat命令

    cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...

  6. Linux命令详解之—pwd命令

    Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...

  7. Linux命令详解之–cd命令

    cd命令是linux实际使用当中另一个非常重要的命令,本文就为大家介绍下Linux中cd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux cd命令用于切换当前工作目录至 d ...

  8. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  9. (转)linux命令详解之useradd命令使用方法

    linux命令详解之useradd命令使用方法 原文:http://blog.csdn.net/u011537073/article/details/51987121 Linux 系统是一个多用户多任 ...

  10. linux命令详解-useradd,groupadd

    linux命令详解-useradd,groupadd 我们在linux命令行中输入useradd: Options:  -b, --base-dir BASE_DIR       base direc ...

随机推荐

  1. 使用批处理文件,自动设置计算机IP地址

    WIN7批处理设置IP地址不成功,显示“The filename, directory name, or volume label syntax is incorrect.”错误, 解决方法:将“本地 ...

  2. SqlServer 杂记 不断补充中

    1.OPTION (MAXRECURSION 25) :最大允许递归的次数.默认最大CTE递归只有100次,而你要求插入10年的数据,需要递归3000多次,所以要使用option (MAXRECURS ...

  3. Linux下软件包的多种安装方式

    源码包安装 在Linux下的很多软件都是通过源码包方式发布的,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终 ...

  4. ANTLR3完全参考指南读书笔记[02]

    前言 程序语言是什么? 用wiki上的描述,程序语言是一种人工设计的语言,用于通过指令与机器交互:程序语言是编程程序的标记,而程序是一种计算或算法的描述.详细介绍和背景信息参考: Programmin ...

  5. Base64编码的实现(三种方式)

    package com.smart.base; import org.apache.commons.codec.binary.Base64; public class Base64Test { pri ...

  6. hdu1003 dp(最大子段和)

    题意:给出一列数,求其中的最大子段和以及该子段的开头和结尾位置. 因为刚学过DP没几天,所以还会这题,我开了一个 dp[100002][2],其中 dp[i][0] 记录以 i 为结尾的最大子段的和, ...

  7. kuangbin_MST A (POJ 1251)

    模板题 Kruskal直接过 调试时候居然在sort(edge + 1, edge + 1 + m)上浪费好多时间... 不过本着ACMer的心态自然要测试一下两种方法分别的速度 Kruskal : ...

  8. 磁盘参数修订[转自vbird]

    某些时刻,你可能会希望修改一下目前文件系统的一些相关信息,举例来说,你可能要修改 Label name , 或者是 journal 的参数,或者是其他硬盘运行时的相关参数 (例如 DMA 启动与否-) ...

  9. jquery循环延迟加载,用于在图片加载完成后再加载js

    <html> <head> <script type="text/javascript" src="http://lib.sinaapp.c ...

  10. 套接字I/O模型-完成端口IOCP

    “完成端口”模型是迄今为止最为复杂的一种I/O模型.然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和W ...