Manual pages › BSD C library (3B)
nice(3B)
change priority of a process
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
Also by this name: nice(1), General commands · nice-original(1), General commands · nice(2), System calls
NAME
nice - change priority of a process
SYNOPSIS
cc [ flag... ] file ... -lucb int nice(incr) int incr;
DESCRIPTION
The scheduling priority of the process is augmented by incr. Positive priorities get less service than normal. Priority 10 is recommended to users who wish to execute long-running programs without undue impact on system performance. Negative increments are illegal, except when specified by the privileged user. The priority is limited to the range -20 (most urgent) to 20 (least). Requests for values above or below these limits result in the scheduling priority being set to the corresponding limit. The priority of a process is passed to a child process by fork(2). For a privileged process to return to normal priority from an unknown state, nice should be called successively with arguments -40 (goes to priority -20 because of truncation), 20 (to get to 0), then 0 (to maintain compatibility with previous versions of this call).
RETURN VALUE
Upon successful completion, nice returns 0. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
The priority is not changed if:
EACCES The value of incr specified was negative, and the effective user ID is not the privileged user.
SEE ALSO
renice(1M) nice(1), priocntl(2) in the User's Reference Manual. fork(2), getpriority(2), priocntl(2) in the Programmer's Reference Manual.