pbind(1M)
NAME
pbind − control and query bindings of processes to processors
SYNOPSIS
pbind −b processor_id pid ...
pbind −u pid ...
pbind [ −q ] [ pid ... ]
DESCRIPTION
pbind controls and queries bindings of processes to processors. pbind binds all the LWPs (lightweight processes) of a process to a processor, or removes or displays the bindings.
When an LWP is bound to a processor, it will be executed only by that processor except when the LWP requires a resource that is provided only by another processor. The binding is not exclusive, that is, the processor is free execute other LWPs as well.
Bindings are inherited, so new LWPs and processes created by a bound LWP will have the same binding. Binding an interactive shell to a processor, for example, binds all commands executed by the shell.
Superusers may bind or unbind any process, and other users can use pbind to bind or unbind any process for which the user has permission to signal, that is, any process that has the same effective user ID as the user.
OPTIONS
The following options are supported:
−b processor_id Binds all the LWPs of the specified processes to the processor processor_id. Specify processor_id as the processor ID of the processor to be controlled or queried. processor_id must be present and on-line. Use the psrinfo command to determine whether or not processor_id is present and on-line. See psrinfo(1M).
−q Displays the bindings of the specified processes, or of all processes. If a process is composed of multiple LWPs, which have different bindings, the bindings of only one of the bound LWPs will be displayed.
−u Removes the bindings of all LWPs of the specified processes, allowing them to be executed on any on-line processor.
OPERANDS
The following operands are supported:
pid The process ID of the process to be controlled or queried.
EXAMPLES
Binding processes
The following example binds processes 204 and 223 to processor 2.
example% pbind −b 2 204 223
This command displays the following output:
process id 204: was 2, now 2
process id 223: was 3, now 2
Unbinding a process
The following example unbinds process 204.
example% pbind −u 204
Querying Bindings
The following example demonstrates that process 1 is bound to processor 0, process 149 has at least one LWP bound to CPU3, and process 101 has no bound LWPs.
example% pbind −q 1 149 101
This command displays the following output:
process id 1: 0
process id 149: 3
process id 101: not bound
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
SEE ALSO
psradm(1M), psrinfo(1M), psrset(1M), processor_bind(2), processor_info(2), sysconf(3C), attributes(5)
DIAGNOSTICS
pbind: cannot query pid 31: No such process
The process specified did not exist or has exited.
pbind: cannot bind pid 31: Not owner
The user does not have permission to bind the process.
pbind: cannot bind pid 31: Invalid argument
The specified processor is not on-line.
SunOS 5.6 — Last change: 10 Jan 1997