- change priority of a process
/usr/ucb/cc [ flag ... ] file ... #include<unistd.h> int nice(incr) int incr;
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).
Upon successful completion, nice() returns 0. Otherwise, a value of -1 is returned and errno is set to indicate the error.
The priority is not changed if:
The value of incr specified was negative, and the effective user ID is not the privileged user.
Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system libraries or in multi-threaded applications is unsupported.