Go to main content

Oracle® Solaris 11.3 Programming Interfaces Guide

Exit Print View

Updated: April 2019

Interactions With Other Interfaces

Altering the priority of a process in the TS class can affect the behavior of other processes in the TS class. This section identifies ways in which a scheduling change can affect other processes.

Kernel Processes

The kernel's daemon and housekeeping processes are members of the system scheduler class. You can neither add processes to nor remove processes from this class. Also, you cannot change the priorities of these processes. The ps -cel command lists the scheduler class of all processes. A SYS entry in the CLS column identifies processes in the system class when you run the ps command with the –f option. For more information, see the ps(1) man page.

Using fork() and exec()

Scheduler class, priority, and other scheduler parameters are inherited across the fork() and exec() interfaces. For more information, see the fork(2) and exec(2) man pages.

Using the nice Interface

The nice command and the nice() function work as in previous versions of the UNIX system. These interfaces enable you to change the priority of a time-sharing process. You can use lower numeric values to assign higher time-sharing priorities with these interfaces.

You can change the scheduler class of a process or to specify a real-time priority by using the priocntl() interface. You can use higher numeric values to assign higher priorities.

For more information, see the nice(1), priocntl(2), and nice(2) man pages.

Using the init Command

The init process is a special case to the scheduler. To change the scheduling properties of init, it must be the only process specified by idtype and id or by the procset structure. For more information, see the init(1M) man page.