Manual browser: schedctl(8)

SCHEDCTL(8) System Manager's Manual SCHEDCTL(8)


schedctlcontrol scheduling of processes and threads


schedctl [-A cpus] [-C class] [-P pri] [-t lid] -p pid | command


The schedctl command can be used to control the scheduling of processes and threads. It also returns information about the current scheduling parameters of the process or thread. Only the super-user may change the scheduling parameters. schedctl can also be used to start a new command using the specified parameters.

Available options:

-A cpus
Set of the processors on which process or thread should run, that is, affinity. Processors are defined as numbers (starting from zero) and separated by commas. A value of -1 is used to unset the affinity.
-C class
Scheduling class (policy), one of:
Time-sharing (TS) scheduling policy. The default policy in NetBSD.
First in, first out (FIFO) scheduling policy.
Round-robin scheduling policy.
-P pri
Priority for the process or thread. Value should be in the range from SCHED_PRI_MIN (0) to SCHED_PRI_MAX (63). Setting of priority for the process or thread running at SCHED_OTHER policy is not allowed.
-p pid
The target process which will be affected. If the process has more than one thread, all of them will be affected.

If -p is not given, a command to execute must be given on the command line.

-t lid
Thread in the specified process. If specified, only this thread in the process will be affected. May only be specified if -p is also given.


Show scheduling information about the process whose ID is “123”:

# schedctl -p 123

Set the affinity to CPU 0 and CPU 1, policy to SCHED_RR, and priority to 63 for thread whose ID is “1” in process whose ID is “123”:

# schedctl -p 123 -t 1 -A 0,1 -C SCHED_RR -P 63

Run the top(1) command with real-time priority:

# schedctl -C SCHED_FIFO top


The schedctl command first appeared in NetBSD 5.0.
March 21, 2011 NetBSD 7.0