Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
QNX Documentation Library
QNX Community Resources

QNX Community Resources

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Next]

nice

Run a program at an altered priority (POSIX)

Syntax:

nice [-nprioritylevels] command [arguments]...

Deprecated:

nice [-prioritylevels] command [arguments]...

Options:

-prioritylevels
Deprecated. This is the historical method of specifying the amount to adjust the current priority by. Specifying -1 ("one") would lower the priority by one, while specifying --1 ("one") would boost the priority by one.
-n prioritylevels
Specify the amount to adjust the current priority by when running the command. The command will be run at a priority level of the current_priority minus prioritylevels. The lowest priority allowed is priority 1. The highest for non-root users is 19; 29 for root. (To increase priority specify a negative number for prioritylevels.)
command [arguments]...
The command to run at the altered priority.

Description:

The nice utility invokes the specified command with a modified priority, usually making the command behave "nicer" towards competing processes.

If no prioritylevels option is specified, the program is invoked at a priority that is one level lower than the parent's current priority (i.e. it is invoked with a "nice increment" of 1).

If a prioritylevels option is specified, it is subtracted from the parent's current priority and the program is invoked at the resultant priority. If the resulting priority is not a valid priority, nice will write a diagnostic message to the standard error and will exit with an exit status of 1.

If you enter: nice will:
a positive value (e.g. -n2 or -n+2) lower the priority of the program, making it "nice"
a negative value (e.g. -n-2) raise the priority of the program, making it "mean"

Users may adjust the priority as follows:

If you're: You can change to any priority:
a normal user from 1 to 19
root from 1 to 29

Examples:

Run make at one priority lower than the parent's priority (be nice):

    nice make application

Run make at two priorities lower than the parent's priority (be nicer):

    nice -n2 make application

Run make at two priorities higher than the parent's priority (be mean):

    nice -n-2 make application

Exit status:

If the operation is successful, the exit status of the invoked command is returned. If an error occurs, the exit status is as follows:

1
Invalid command-line parameters were given or the user requested an invalid priority.
126
The command specified did not exist.
127
The command could not be started for some other reason.

Caveats:

In contrast to other operating systems, the QNX interpretation of the nice value substantially affects the priority of the process. Rather than representing a fraction of a priority, the granularity of the nice value in QNX is of a "whole" priority level. For example, where the following would have a marginal effect on the execution of myprog on some operating systems:

    nice -n5 myprog

on QNX it would lower the priority of myprog by five full priority levels, and could have a significant effect on myprog's execution time.

See also:

renice, slay


[Previous] [Contents] [Next]