VMS Help
SET, PROCESS

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

    Changes the execution characteristics associated with the
    specified process or kernel thread for the current terminal
    session or job. If no process is specified, changes are made
    to the current process.

    Requires GROUP privilege to change other processes in the same
    group. Requires WORLD privilege to change processes outside your
    group.

    Format

      SET PROCESS  [process-name]

  1 - Parameter

 process-name

    Requires that you own the process or that you have GROUP
    privilege and that the process is in your group.

    Specifies the name of the process for which the characteristics
    are to be changed. Process names can be up to 23 alphanumeric
    characters long in the following format:

    [node-name::]process-name

    o  The node name can have as many as 6 alphanumeric characters.

    o  The colons (:)  count for 2 characters.

    o  The process name can have as many as 15 characters.

    A local process name can look like a remote process name;
    therefore, if you specify ATHENS::SMITH, the system checks for
    a process named ATHENS::SMITH on the local node before checking
    node ATHENS for a process named SMITH.

    The default process is the current process.

    Process names are unique only within a particular UIC group.
    You cannot specify the process name for a process outside of
    your group. To change the characteristics of a process outside
    of your group, you must use the qualifier /IDENTIFICATION=pid.
    The process name parameter is ignored. If you include neither
    the process name nor the /IDENTIFICATION qualifier, the current
    process is assumed.

  2 - Qualifiers

 2.1 - /AFFINITY

       /AFFINITY (Alpha only)
       /NOAFFINITY

    Allows bits in the kernel thread affinity mask to be set or
    cleared individually, in groups, or all at once. This qualifier
    is mutually exclusive with the /CAPABILITY qualifier.

                                   NOTE

       The SET PROCESS/[NO]AFFINITY command fails if none of the
       specified CPUs has the capabilities required by the process.

    The /NOAFFINITY qualifier clears all affinity bits currently set
    in the current or permanent affinity masks, based on the setting
    of the /PERMANENT qualifier. Specifying the /AFFINITY qualifier
    has no direct effect, but merely indicates the target of the
    operations specified by the following secondary parameters:

    /SET=(n[,..Sets affinity for currently active CPUs defined by the
               CPU IDs n, where n has the range of 0 to 31.
    /CLEAR=(n[,Clears affinity for currently active CPUs defined by
               the position values n, where n has the range of 0 to
               31.
    /PERMANENT Performs the operation on the permanent affinity
               mask as well as the current affinity mask, making the
               changes valid for the life of the kernel thread. (The
               default behavior is to affect only the affinity mask
               for the running image.)

    The secondary qualifiers can all be used at once as long as the
    affinity bits defined in the /SET and /CLEAR parameters do not
    overlap.

    The privileges required to execute the SET PROCESS/AFFINITY
    command match those required by the $PROCESS_AFFINITY system
    service. ALTPRI is the base privilege required to make any
    modifications, and the only privilege required to modify the
    current owner's kernel thread. Modifications within the same UIC
    group require GROUP privilege. Modifications to any unrelated
    kernel thread require WORLD privilege.

    As with the other SET PROCESS qualifiers, the bit operations
    occur on the current process if no /IDENTIFICATION qualifier
    or explicit process name parameter is specified. Specifying a
    process name does not imply that all kernel threads associated
    with the process are affected; the SET PROCESS command affects
    only the initial kernel thread of a multithreaded process.

 2.2 - /AUTO_UNSHELVE

       /AUTO_UNSHELVE
       /NOAUTO_UNSHELVE

    Controls whether the process automatically unshelves files.

 2.3 - /CAPABILITY

       /CAPABILITY
       /NOCAPABILITY

    Allows bits in the process user capability mask to be set or
    cleared individually, in groups, or all at once. This qualifier
    is mutually exclusive with the /AFFINITY qualifier.

                                   NOTE

       The SET PROCESS/[NO]CAPABILITY command fails if there is no
       CPU with the required set of capabilities.

    The /NOCAPABILITY qualifier clears all user capability bits
    currently set in the current or permanent capability masks,
    based on the setting of the /PERMANENT qualifier. Specifying the
    /CAPABILITY qualifier has no direct effect, but merely indicates
    the target of the operations specified by the following secondary
    qualifiers:

    /SET=(n[,..Sets all user capabilities defined by the position
               values n, where n has the range of 1 to 16.
    /CLEAR=(n[,Clears all user capabilities defined by the position
               values n, where n has the range of 1 to 16.
    /PERMANENT Performs the operation on the permanent user capability
               mask as well as the current user capability mask,
               making the changes valid for the life of the kernel
               thread. (The default behavior is to affect only the
               capabilities mask for the running image.)

    The secondary qualifiers can all be used at once as long as the
    user capability bits defined in the /SET and /CLEAR parameters do
    not overlap.

    The privileges required to execute the SET PROCESS/CAPABILITY
    command match those required by the $PROCESS_CAPABILITIES system
    service. ALTPRI is the base privilege required to make any
    modifications, and the only privilege required to modify the
    current owner's kernel thread. Modifications within the same UIC
    group require GROUP privilege. Modifications to any unrelated
    kernel thread require WORLD privilege.

    As with the other SET PROCESS qualifiers, the bit operations
    occur on the current process if no /IDENTIFICATION qualifier
    or explicit process name parameter is specified. Specifying a
    process name does not imply that all kernel threads associated
    with the process are affected; the SET PROCESS command affects
    only the initial kernel thread of a multithreaded process.

 2.4 - /CLEAR

       /CLEAR=(n[,...])

    Clears all user capabilities or CPU affinities defined by the
    position values n specified by the /CAPABILITY or the /AFFINITY
    qualifier.

 2.5 - /DUMP

       /DUMP[=NOW] [/ID=pid] [process-name]
       /NODUMP (default)

    Causes the contents of the address space to be written to the
    file named SYS$LOGIN:(image-name).DMP (where the image name is
    the same as the file name) when an image terminates due to an
    unhandled error. To specify a target process, indicate either the
    process ID or the process name.

    Using the NOW option causes the targeted process to dump as soon
    as possible. This is especially useful for hung processes.

    You can then analyze the dump with the ANALYZE/PROCESS_DUMP
    utility, the Debugger, or the System Dump Analyzer (SDA).

 2.6 - /GLOBAL

    Modifies the global cell SCH$GL_DEFAULT_PROCESS_CAP. This global
    cell is used to initialize the user capability mask of processes
    when they are started.

 2.7 - /IDENTIFICATION

       /IDENTIFICATION=pid

    Requires GROUP or WORLD privilege for processes other than your
    own.

    Specifies the process identification (PID) value of the
    kernel thread for which characteristics are to be changed. The
    /IDENTIFICATION qualifier overrides the process-name parameter.

    The PID is assigned by the system when the process is created.
    When you specify a PID, you can omit the leading zeros.

    If you use the /IDENTIFICATION qualifier, the process-name
    parameter is ignored.

                                   NOTE

       The /IDENTIFICATION qualifier allows the SET PROCESS command
       to affect individual kernel thread PIDs; because each thread
       is a separate runnable entity, this command treats them as
       discrete entities in terms of affinities and capabilities.

 2.8 - /NAME

       /NAME=string

    Changes the name of the current process to a string of 1 to 15
    characters.

 2.9 - /PARSE_STYLE

       /PARSE_STYLE=(keyword)

    Allows a user to indicate how commands are to be parsed.

    Setting a particular parse style tells DCL how it should handle
    command syntax. User programs can also examine the state of this
    setting if they need to use different parse rules.

    The valid keywords for this qualifier are TRADITIONAL and
    EXTENDED. These keywords are mutually exclusive and cannot be
    negated.

    If the /PARSE_STYLE qualifier is not specified, the default is
    the TRADITIONAL format.

    Keyword     Explanation

    TRADITIONAL Indicates that commands should be examined using the
    (default)   former (prior to Version 7.2) rules for DCL syntax.
    EXTENDED    Indicates that commands should be examined using a
    (Alpha      syntax that allows ODS-5 file specifications.
    only)

    The main differences for DCL when EXTENDED parse rules are in
    effect are:

    o  Arguments to foreign commands are case preserved. You can get
       the command string by calling LIB$GET_FOREIGN. Note that at
       this time, C/C++ programs which use the argc/argv mechanism
       still have unquoted arguments in lowercase.

    o  Some characters that were previously treated as token
       delimiters are no longer delimiters. The pound sign (#),
       circumflex (^), and question mark (?) fall into this category.

    o  A circumflex (^) is an escape character, which can be used to
       indicate that the next character in the command string is to
       be treated as if it were quoted, thereby losing its syntactic
       significance.

    EXTENDED parsing also modifies DCL's rules for file
    specifications, that is, any item with a $FILE type in a Command
    Definition Language (.CLD) file:

    o  File specifications will not be in uppercase.

    o  Any number of commas (,) may be placed between directory
       delimiters ([] and <>).

    o  Directory file ID's (DIDs) can be included in the file
       specification.

    o  Any number of periods (.) or semi-colons (;) may be included
       in the file specification.

    Refer to the OpenVMS Guide to Extended File Specifications for
    more information.

 2.10 - /PERMANENT

    Performs the operation on the permanent affinity or capability
    mask as well as the current mask, making the changes valid for
    the life of the kernel thread. (The default behavior is to affect
    the current mask only for the running image.) The /PERMANENT
    qualifier is only valid in conjunction with the /CAPABILITY or
    the /AFFINITY qualifier.

 2.11 - /PRIORITY

       /PRIORITY=n

    Requires ALTPRI (alter priority) privilege to set the priority
    higher than the base priority of the specified process.

    Changes the priority for the specified kernel thread. If you do
    not have the ALTPRI privilege, the value you specify is compared
    to your current base priority, and the lower value is always
    used.

 2.12 - /PRIVILEGES

       /PRIVILEGES=(privilege[,...])

    Requires SETPRV (set privilege) privilege as an authorized
    privilege to enable any privilege you do not have in your
    authorized privilege mask.

    Enables the following process privileges:

    ACNT        ALLSPOOL     ALTPRI      AUDIT
    BUGCHK      BYPASS       CMEXEC      CMKRNL
    DETACH      DIAGNOSE     DOWNGRADE   EXQUOTA
    GROUP       GRPNAM       GRPPRV      IMPORT
    LOG_IO      MOUNT        NETMBX      OPER
    PFNMAP      PHY_IO       PRMCEB      PRMGBL
    PRMMBX      PSWAPM       READALL     SECURITY
    SETPRV      SHARE        SHMEM       SYSGBL
    SYSLCK      SYSNAM       SYSPRV      TMPMBX
    UPGRADE     VOLPRO       WORLD

    Use the SHOW PROCESS/PRIVILEGES command to determine what
    authorized privileges are enabled currently.

 2.13 - /RAD

       /RAD=HOME=n

    Changes the home resource affinity domain (RAD) of a process.

    This command only works on the current process.

    Note that OpenVMS application support for resource affinity
    domains (RADs) is supported only on AlphaServer GS160 systems.

 2.14 - /RESOURCE_WAIT

       /RESOURCE_WAIT
       /NORESOURCE_WAIT

    Enables resource wait mode so that the process waits for
    resources to become available. If you specify the /NORESOURCE_
    WAIT qualifier, the process receives an error status code when
    system dynamic memory is not available or when the process
    exceeds one of the following resource quotas: direct I/O limit,
    buffered I/O limit, or buffered I/O byte count (buffer space)
    quota.

                                 CAUTION

       Disabling resource waiting should be performed with caution,
       as doing so can have unexpected effects on constituent
       sharable images and runtime libraries. Refer to the $SETRWM
       service in the OpenVMS System Services Reference Manual for
       additional information.

 2.15 - /RESUME

    Allows a process suspended by a previous SET PROCESS/SUSPEND
    command to resume operation. The /RESUME qualifier is equivalent
    to the /NOSUSPEND qualifier.

 2.16 - /SCHEDULING_CLASS

       /SCHEDULING_CLASS="class_name"
       /NOSCHEDULING_CLASS

    Adds a process to, or removes a process from, a scheduling class.
    This command does not modify the permanent class scheduling
    database file. Therefore, the effect of this command can be
    viewed as temporary placement into, or removal from, a scheduling
    class.

 2.17 - /SET

       /SET=(n[,...])

    Sets all user capabilities or CPU affinities defined by the
    position values n specified by the /CAPABILITY or the /AFFINITY
    qualifier.

 2.18 - /SUSPEND

       /SUSPEND[=SUPERVISOR]
       /SUSPEND=KERNEL
       /NOSUSPEND

    Requires privileges as described in text.

    Temporarily stops the process's activities. The process remains
    suspended until another process resumes or deletes it. Use the
    qualifiers /NOSUSPEND and /RESUME to resume a suspended process.

    Specify either of the following keywords with the /SUSPEND
    qualifier to produce different results:

    Keyword     Result

    SUPERVISOR  Specifies that the named process is to be suspended
    (default)   to allow the delivery of asynchronous system traps
                (ASTs) at EXEC or KERNEL mode. Specifying this
                keyword is optional.

    KERNEL      Specifies that the named process is to be suspended
                such that no ASTs can be delivered. To specify the
                KERNEL keyword, you must be in either KERNEL mode or
                EXEC mode, or have CMKRNL (change mode to kernel) and
                CMEXEC (change mode to executive) privilege enabled.
                Note that this was the default behavior of the SET
                PROCESS/SUSPEND command for versions of OpenVMS prior
                to VMS Version 5.0.

    Depending on the operation, the process from which you specify
    the /SUSPEND qualifier requires privileges. You must have GROUP
    privilege to suspend another process in the same group, unless
    that process has the same user identification code (UIC). You
    must have WORLD privilege to suspend any other process in the
    system.

    When you enter the SET PROCESS/SUSPEND=KERNEL/ID= command in a
    cluster environment, the KERNEL keyword is ignored if the target
    process and the current process reside on different cluster
    nodes. As a result, process suspension is handled as if you had
    specified the SUPERVISOR keyword (the default).

    Note that you can specify SET PROCESS/SUSPEND=KERNEL
    to override a previous SET PROCESS/SUSPEND=SUPERVISOR.
    SET PROCESS/SUSPEND=SUPERVISOR does not, however, override SET
    PROCESS/SUSPEND=KERNEL.

 2.19 - /SWAPPING

       /SWAPPING (default)
       /NOSWAPPING

    Requires the PSWAPM (process swap) privilege to disable swapping
    for your process.

    Permits the process to be swapped. By default, a process that is
    not currently executing can be removed from physical memory so
    that other processes can execute. If you specify the /NOSWAPPING
    qualifier, the process is not swapped out of the balance set when
    it is in a wait state.

  3 - Examples

    1.$ SET PROCESS/PRIVILEGE=EXQUOTA

      The SET PROCESS command in this example assigns the current
      process the privilege of exceeding quotas.

    2.$ SET PROCESS/NORESOURCE_WAIT

      The SET PROCESS command in this example disables resource wait
      mode for the current process.

    3.$ RUN/PROCESS_NAME=TESTER  CALC
      %RUN-S-PROC_ID, identification of created process is 0005002F
      $ SET PROCESS/PRIORITY=10  TESTER

      The RUN command in this example creates a subprocess and gives
      it the name TESTER. Subsequently, the SET PROCESS/PRIORITY
      command assigns the subprocess a priority of 10.

    4.$ SHOW PROCESS/SUBPROCESS

      19-APR-2001 15:17:28.41  User: DAVIS Process ID:   31900218
                               Node: OCALA  Process name: "DAVIS"

      Processes in this tree:

      DAVIS *
        DAVIS_1
        DAVIS_2

      $ SET PROCESS/SUSPEND DAVIS_1
      $

      The SET PROCESS/SUSPEND command in this example suspends the
      process DAVIS_1 such that ASTs can be delivered to it. Because
      no keyword was specified, the /SUSPEND=SUPERVISOR version is
      assumed.

    5.$ SHOW PROCESS/SUBPROCESS OCALA::TESTA

      19-APR-2001 12:17:24.45   User: TESTA    Process ID:   31400208
                                Node: OCALA    Process name:  "TESTA"

      Processes in this tree:

      TESTA *
        TESTA_1
        TESTA_2
      $ SET PROCESS OCALA::TESTA_2 /SUSPEND=KERNEL
      $

      The SET PROCESS/SUSPEND=KERNEL command in this example suspends
      the process TESTA_2 on node OCALA such that no ASTs can be
      delivered to it.

    6.$ SET PROCESS CPUSCHED/AFFINITY/SET=1/PERMANENT
      $ SET PROCESS CPUSCHED/CAPABILITY/SET=8/PERMANENT
      $ SHOW CPU/FULL

      COBRA7, a DEC 4000 Model 620
      Multiprocessing is ENABLED. Streamlined synchronization image loaded.
      Minimum multiprocessing revision levels: CPU = 1

      System Page Size = 8192
      System Revision Code =
      System Serial Number =
      Default CPU Capabilities:
              System:         QUORUM RUN
      Default Process Capabilities:
              System:         QUORUM RUN

      PRIMARY CPU = 00

      CPU 00 is in RUN state
      Current Process: *** None ***
      Serial Number:  AY24870417
      Revision:       A200
      VAX floating point operations supported.
      IEEE floating point operations and data types supported.
      Processor is Primary Eligible.
      PALCODE: Revision Code = 5.48
               PALcode Compatibility = 0
               Maximum Shared Processors = 2
               Memory Space:  Physical address = 00000000 00000000
                              Length = 0
               Scratch Space: Physical address = 00000000 00000000
                              Length = 0
      Capabilities of this CPU:
            System:           PRIMARY QUORUM RUN
            User bitmask:     00000040
      Processes which can only execute on this CPU:
            NETACP       PID = 0000008E      Reason: PRIMARY Capability

      CPU 01 is in RUN state
      Current Process: CPUSCHED        PID = 00000095
      Serial Number:  AY24870406
      Revision:       A200
      VAX floating point operations supported.
      IEEE floating point operations and data types supported.
      PALCODE: Revision Code = 5.48
               PALcode Compatibility = 0
               Maximum Shared Processors = 2
               Memory Space:  Physical address = 00000000 00000000
                              Length = 0
               Scratch Space: Physical address = 00000000 00000000
                              Length = 0
      Capabilities of this CPU:
            System:           QUORUM RUN
            User bitmask:     00000080
      Processes which can only execute on this CPU:
            CPUSCHED   PID = 00000095 Reason: Affinitized to this CPU
                                      Reason: User capabilities - 00000080)

      $ SET PROCESS/NOAFFINITY/PERMANENT
      $ SET PROCESS/NOCAPABILITY/PERMANENT
      $ SHOW CPU/FULL

      COBRA7, a DEC 4000 Model 620
      Multiprocessing is ENABLED. Streamlined synchronization image loaded.
      Minimum multiprocessing revision levels: CPU = 1

      System Page Size = 8192
      System Revision Code =
      System Serial Number =
      Default CPU Capabilities:
              System:         QUORUM RUN
      Default Process Capabilities:
              System:         QUORUM RUN

      CPU 00 is in RUN state
      Current Process: *** None ***
      Serial Number:  AY24870417
      Revision:       A200
      VAX floating point operations supported.
      IEEE floating point operations and data types supported.
      Processor is Primary Eligible.
      PALCODE: Revision Code = 5.48
               PALcode Compatibility = 0
               Maximum Shared Processors = 2
               Memory Space:  Physical address = 00000000 00000000
                              Length = 0
               Scratch Space: Physical address = 00000000 00000000
                              Length = 0
      Capabilities of this CPU:
              System:         PRIMARY QUORUM RUN
              User bitmask:   00000040
      Processes which can only execute on this CPU:
              NETACP           PID = 0000008E  Reason: PRIMARY Capability

      CPU 01 is in RUN state
      Current Process: CPUSCHED        PID = 00000095
      Serial Number:  AY24870406
      Revision:       A200
      VAX floating point operations supported.
      IEEE floating point operations and data types supported.
      PALCODE: Revision Code = 5.48
               PALcode Compatibility = 0
               Maximum Shared Processors = 2
               Memory Space:  Physical address = 00000000 00000000
                              Length = 0
               Scratch Space: Physical address = 00000000 00000000
                              Length = 0
      Capabilities of this CPU:
              System:         QUORUM RUN
              User bitmask:   00000080
      Processes which can only execute on this CPU:
              *** None ***

      In this example, CPU 1 has user capability 8 enabled (user mask
      of process CPUSCHED, and CPU affinity is set to 1. Either of
      these settings forces the initial kernel thread to run only on
      CPU 1, as shown by the SHOW PROCESS command.

      Then, the SET PROCESS/NOAFFINITY/NOCAPABILITY command clears
      all CPU affinities and user capability requirements for the
      initial kernel thread of process (CPUSCHED), and the binding to
      CPU 1 disappears.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.