nice(1posix)


NAME

   nice --- invoke a utility with an altered nice value

SYNOPSIS

   nice [n increment] utility [argument...]

DESCRIPTION

   The nice utility shall invoke a utility, requesting that it be run with
   a   different   nice   value   (see  the  Base  Definitions  volume  of
   POSIX.12008,  Section  3.240,  Nice  Value).   With  no  options,  the
   executed  utility  shall  be  run  with  a  nice  value  that  is  some
   implementation-defined quantity greater than or equal to the nice value
   of  the  current  process.  If the user lacks appropriate privileges to
   affect the nice value in the requested manner, the nice  utility  shall
   not  affect  the  nice  value;  in  this case, a warning message may be
   written to standard error, but this shall not prevent the invocation of
   utility or affect the exit status.

OPTIONS

   The  nice  utility  shall  conform  to  the  Base Definitions volume of
   POSIX.12008, Section 12.2, Utility Syntax Guidelines.

   The following option is supported:

   n increment
             A positive or negative decimal integer which shall  have  the
             same effect on the execution of the utility as if the utility
             had called the nice() function with the numeric value of  the
             increment option-argument.

OPERANDS

   The following operands shall be supported:

   utility   The  name  of a utility that is to be invoked. If the utility
             operand names  any  of  the  special  built-in  utilities  in
             Section  2.14,  Special  Built-In  Utilities, the results are
             undefined.

   argument  Any string to be supplied as an argument  when  invoking  the
             utility named by the utility operand.

STDIN

   Not used.

INPUT FILES

   None.

ENVIRONMENT VARIABLES

   The following environment variables shall affect the execution of nice:

   LANG      Provide   a   default   value  for  the  internationalization
             variables that are unset or null. (See the  Base  Definitions
             volume  of  POSIX.12008,  Section  8.2, Internationalization
             Variables  for   the   precedence   of   internationalization
             variables used to determine the values of locale categories.)

   LC_ALL    If  set  to  a non-empty string value, override the values of
             all the other internationalization variables.

   LC_CTYPE  Determine the locale for the interpretation of  sequences  of
             bytes of text data as characters (for example, single-byte as
             opposed to multi-byte characters in arguments).

   LC_MESSAGES
             Determine the locale that should be used to affect the format
             and  contents  of  diagnostic  messages  written  to standard
             error.

   NLSPATH   Determine the location of message catalogs for the processing
             of LC_MESSAGES.

   PATH      Determine  the  search  path used to locate the utility to be
             invoked.  See the Base Definitions  volume  of  POSIX.12008,
             Chapter 8, Environment Variables.

ASYNCHRONOUS EVENTS

   Default.

STDOUT

   Not used.

STDERR

   The standard error shall be used only for diagnostic messages.

OUTPUT FILES

   None.

EXTENDED DESCRIPTION

   None.

EXIT STATUS

   If utility is invoked, the exit status of nice shall be the exit status
   of utility; otherwise, the nice utility shall  exit  with  one  of  the
   following values:

   1125   An error occurred in the nice utility.

     126   The  utility  specified  by  utility was found but could not be
           invoked.

     127   The utility specified by utility could not be found.

CONSEQUENCES OF ERRORS

   Default.

   The following sections are informative.

APPLICATION USAGE

   The only guaranteed portable uses of this utility are:

   nice utility
         Run utility with the default higher or equal nice value.

   nice n <positive integer> utility
         Run utility with a higher nice value.

   On some implementations they have no discernible effect on the  invoked
   utility and on some others they are exactly equivalent.

   Historical  systems have frequently supported the <positive integer> up
   to 20. Since there is no  error  penalty  associated  with  guessing  a
   number that is too high, users without access to the system conformance
   document (to see what limits are  actually  in  place)  could  use  the
   historical  1  to  20 range or attempt to use very large numbers if the
   job should be truly low priority.

   The nice value of a process can be displayed using the command:

       ps o nice

   The command, env, nice, nohup, time,  and  xargs  utilities  have  been
   specified  to use exit code 127 if an error occurs so that applications
   can distinguish ``failure to find a utility''  from  ``invoked  utility
   exited  with an error indication''. The value 127 was chosen because it
   is not commonly used for  other  meanings;  most  utilities  use  small
   values  for ``normal error conditions'' and the values above 128 can be
   confused with termination due to receipt of a signal. The value 126 was
   chosen in a similar manner to indicate that the utility could be found,
   but  not  invoked.  Some  scripts  produce  meaningful  error  messages
   differentiating  the  126  and  127 cases. The distinction between exit
   codes 126 and 127 is based on KornShell practice that uses 127 when all
   attempts  to exec the utility fail with [ENOENT], and uses 126 when any
   attempt to exec the utility fails for any other reason.

EXAMPLES

   None.

RATIONALE

   The 4.3 BSD version of nice does not check whether increment is a valid
   decimal  integer.  The  command  nice x utility, for example, would be
   treated the same as the command nice 1 utility.  If the user does not
   have  appropriate  privileges,  this results in a ``permission denied''
   error.  This is considered a bug.

   When a user without appropriate privileges gives a negative  increment,
   System  V  treats  it  like  the command nice 0 utility, while 4.3 BSD
   writes a ``permission denied'' message and does not  run  the  utility.
   The  standard specifies the System V behavior together with an optional
   BSD-style ``permission denied'' message.

   The C shell has a  built-in  version  of  nice  that  has  a  different
   interface from the one described in this volume of POSIX.12008.

   The term ``utility'' is used, rather than ``command'', to highlight the
   fact that shell compound commands, pipelines,  and  so  on,  cannot  be
   used.  Special  built-ins  also  cannot  be used.  However, ``utility''
   includes  user  application  programs  and  shell  scripts,  not   just
   utilities defined in this volume of POSIX.12008.

   Historical  implementations of nice provide a nice value range of 40 or
   41 discrete steps, with the default nice value being  the  midpoint  of
   that  range.  By  default,  they  raise  the nice value of the executed
   utility by 10.

   Some historical documentation states that the increment value  must  be
   within a fixed range. This is misleading; the valid increment values on
   any invocation are determined by the current process nice value,  which
   is not always the default.

   The  definition  of  nice  value  is  not  intended to suggest that all
   processes in a system have priorities that are  comparable.  Scheduling
   policy  extensions  such  as  the  realtime  priorities  in  the System
   Interfaces  volume  of  POSIX.12008  make  the  notion  of  a   single
   underlying  priority  for  all  scheduling  policies  problematic. Some
   implementations may implement the nice-related features to  affect  all
   processes on the system, others to affect just the general time-sharing
   activities implied by this volume of POSIX.12008, and others may  have
   no  effect  at all. Because of the use of ``implementation-defined'' in
   nice  and  renice,  a  wide  range  of  implementation  strategies  are
   possible.

   Earlier  versions  of  this  standard allowed a increment option. This
   form is no longer specified by POSIX.12008 but may be present in  some
   implementations.

FUTURE DIRECTIONS

   None.

SEE ALSO

   Chapter 2, Shell Command Language, renice

   The Base Definitions volume of POSIX.12008, Section 3.240, Nice Value,
   Chapter  8,  Environment  Variables,  Section  12.2,   Utility   Syntax
   Guidelines

   The System Interfaces volume of POSIX.12008, nice()

COPYRIGHT

   Portions  of  this text are reprinted and reproduced in electronic form
   from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
   --  Portable  Operating  System  Interface (POSIX), The Open Group Base
   Specifications  Issue  7,  Copyright  (C)  2013  by  the  Institute  of
   Electrical and Electronics Engineers, Inc and The Open Group.  (This is
   POSIX.1-2008 with the 2013 Technical Corrigendum  1  applied.)  In  the
   event of any discrepancy between this version and the original IEEE and
   The Open Group Standard, the original IEEE and The Open Group  Standard
   is  the  referee document. The original Standard can be obtained online
   at http://www.unix.org/online.html .

   Any typographical or formatting errors that appear  in  this  page  are
   most likely to have been introduced during the conversion of the source
   files   to   man   page   format.   To   report   such   errors,    see
   https://www.kernel.org/doc/man-pages/reporting_bugs.html .





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.