The taskset command is used to set or retrieve the CPU affinity of a running process given its pid, or to laun

## Example

#### Other

You can set affinity by range with other like a specify CPU

``````\$ taskset -cp 1-3,12 14846
``````

Or

``````\$ taskset -cp 1-6:2 14846
``````

The suffix ":N" specifies stride in the range, for example 0-10:3 is interpreted as 0,3,6,9 list.

#### Set CPU Affinity with muliple value

That mean new CPU affinity list is `[0,1,2,3]`

``````\$ taskset -cp 0-3 14846
pid 14846's current affinity list: 1
pid 14846's new affinity list: 0-3
``````

You can set single CPU with the following command:

``````\$ taskset -cp 5,8,12 14846
pid 14846's current affinity list: 0-3
pid 14846's new affinity list: 5,8,12
``````

That mean new CPU affinity list is `[5,8,12]`

#### Set CPU Affinity

Now let's try to set process in to a specify CPU. For example, we have a process has PID = 14846 Let's see the CPU affinity list of this process first:

``````\$ taskset -cp 14846
pid 14846's current affinity list: 0-15
``````

#### #Change CPU affinity to 1:

``````\$ taskset -cp 1 14846
pid 14846's current affinity list: 0-15
pid 14846's new affinity list: 1
``````

As we see, CPU affinity was changed

#### View CPU Affinity

``````\$ taskset -cp 29523
pid 29523's current affinity list: 0-15
``````

That mean process with PID `29523` is active on CPU range from `[0,1,...,15]` which means `16` total. PID: Process Identifier - is a unique numerical identifier given to each running process, you can view PID of processes in `top` or `htop` tools If you run the above command but get the message `bad usage`, try with PID = 1

``````\$ taskset -cp 1
``````

## Getting Started

#### Common Options

Command Alternavite Meaning
`-a` --all-tasks Set or retrieve the CPU affinity of all the task (threads) for a given PID.
`-c` --cpu-list Interpret mask as numerical list of processors instead of a bitmask.Numbers are separated by commas and may include ranges. For example: `0,5,8-11`
`-p` --pid Operate on an existing PID and do not launch a new task.
`-h` --help Display help text and exit.
`-v` --version Print version and exit.

#### Usage

The default behavior is to run a new command with a given affinity mask

``````\$ taskset [mask] [command] [arguments]
``````

#### #Usage #2

``````\$ taskset -p [pid]
``````

``````\$ taskset -p [mask] [pid]
``````

You can also retrieve the CPU affinity of an existing task