October 18, 2008 SCHEDCTL 8

### NAME

schedctl - control scheduling of processes and threads

### SYNOPSIS

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

### DESCRIPTION

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:

  ```SCHED_OTHER`
    Time-sharing (TS) scheduling policy. The default policy in NetBSD.

  ```SCHED_FIFO`
    First in, first out (FIFO) scheduling policy.

  ```SCHED_RR`
    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.

### EXAMPLES

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

  `

### SEE ALSO

nice(1), getpriority(2), setpriority(2), psrset(8), renice(8)

### HISTORY

The schedctl command first appeared in NetBSD5.0.