pbind(1M)




NAME

     pbind - control and query bindings of processes  to  proces-
     sors


SYNOPSIS

     pbind -b processor_id pid...

     pbind -u pid...

     pbind [-q] [pid...]


DESCRIPTION

      pbind controls and queries bindings of processes to proces-
     sors.  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 interac-
     tive 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

     Example 1: Binding Processes

     The following example binds processes 204 and 223 to proces-
     sor 2:

     example% pbind -b 2 204 223
     process id 204: was 2, now 2
     process id 223: was 3, now 2

     Example 2: Unbinding a Process

     The following example unbinds process 204:

     example% pbind -u 204

     Example 3: Querying Bindings

     The following example queries bindings. It 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
     process id 1: 0
     process id 149: 3
     process id 101: not bound


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       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.


Man(1) output converted with man2html