The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> nice - change the nice value of a process

#### SYNOPSIS

> ``[XSI] #include <unistd.h>
> int nice(int` incr`);``
> `
> `

#### DESCRIPTION

> The nice() function shall add the value of incr to the nice value of the calling process. A process' nice value is a non-negative number for which a more positive value shall result in less favorable scheduling.

> A maximum nice value of 2*{NZERO}-1 and a minimum nice value of 0 shall be imposed by the system. Requests for values above or below these limits shall result in the nice value being set to the corresponding limit. Only a process with appropriate privileges can lower the nice value.

> [PS|TPS] Calling the nice() function has no effect on the priority of processes or threads with policy SCHED_FIFO or SCHED_RR. The effect on processes or threads with other scheduling policies is implementation-defined.

> The nice value set with nice() shall be applied to the process. If the process is multi-threaded, the nice value shall affect all system scope threads in the process.

> As -1 is a permissible return value in a successful situation, an application wishing to check for error situations should set errno to 0, then call nice(), and if it returns -1, check to see whether errno is non-zero.

#### RETURN VALUE

> Upon successful completion, nice() shall return the new nice value -{NZERO}. Otherwise, -1 shall be returned, the process' nice value shall not be changed, and errno shall be set to indicate the error.

#### ERRORS

> The nice() function shall fail if:

> [EPERM]
>   The incr argument is negative and the calling process does not have appropriate privileges.

The following sections are informative.

#### EXAMPLES

> ##### Changing the Nice Value

> The following example adds the value of the incr argument, -20, to the nice value of the calling process.

>     #include <unistd.h>
>     ...
>     int incr = -20;
>     int ret;

>     ret = nice(incr);

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> getpriority(), setpriority(), the Base Definitions volume of IEEE Std 1003.1-2001, <limits.h>, <unistd.h>

#### CHANGE HISTORY

> First released in Issue 1. Derived from Issue 1 of the SVID.

#### Issue 5

> A statement is added to the description indicating the effects of this function on the different scheduling policies and multi-threaded processes.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]