pbind binds all the LWPs (light-weight processes) of a process to a processor, or removes or displays the bindings.
The -b option binds all of the LWPs of the specified processes to the specified processor. The processor must be present and on-line, which can be determined by the psrinfo.1m command.
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.
The superuser 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.
The -u option removes the bindings from all the LWPs of the specified processes, allowing them to be executed on any on-line processor.
The -q option displays the bindings of the specified processes. If a process is composed of multiple LWPs, which have differrent bindings, the bindings of only one of the bound LWPs will be shown.
The following command binds processes 204 and 223 to processor 2:
example% pbind -b 2 204 223
This generates the messages:
process id 204: was 2, now 2
process id 223: was 3, now 2
To unbind process 204:
example% pbind -u 204
example% pbind -q 1 149 101
generates the following output:
process id 1: 0
process id 149: 3
process id 101: not bound
This 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.
Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97