[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP OpenVMS Programming Concepts Manual


Previous Contents Index

Chapter 4
4 Process Control
     4.1     Using Process Control for Programming Tasks
         4.1.1         Determining Privileges for Process Creation and Control
         4.1.2         Determining Process Identification
         4.1.3         Qualifying Process Naming Within Groups
     4.2     Obtaining Process Information
         4.2.1         Using the PID to Obtain Information
         4.2.2         Using the Process Name to Obtain Information
         4.2.3         Using SYS$GETJPI and LIB$GETJPI
             4.2.3.1             Requesting Information About a Single Process
             4.2.3.2             Requesting Information About All Processes on the Local System
         4.2.4         Using SYS$GETJPI with SYS$PROCESS_SCAN
             4.2.4.1             Using SYS$PROCESS_SCAN Item List and Item-Specific Flags
             4.2.4.2             Requesting Information About Processes That Match One Criterion
             4.2.4.3             Requesting Information About Processes That Match Multiple Values for One Criterion
             4.2.4.4             Requesting Information About Processes That Match Multiple Criteria
         4.2.5         Specifying a Node as Selection Criterion
             4.2.5.1             Checking All Nodes on the Cluster for Processes
             4.2.5.2             Checking Specific Nodes on the Cluster for Processes
             4.2.5.3             Conducting Multiple Simultaneous Searches with SYS$PROCESS_SCAN
         4.2.6         Programming with SYS$GETJPI
             4.2.6.1             Using Item Lists Correctly
             4.2.6.2             Improving Performance by Using Buffered $GETJPI Operations
             4.2.6.3             Fulfilling Remote SYS$GETJPI Quota Requirements
             4.2.6.4             Using the SYS$GETJPI Control Flags
         4.2.7         Using SYS$GETLKI
         4.2.8         Setting Process Privileges
     4.3     Changing Process and Kernel Threads Scheduling
     4.4     Using Affinity and Capabilities in CPU Scheduling (Alpha and I64 Only)
         4.4.1         Defining Affinity and Capabilities
             4.4.1.1             Using Affinity and Capabilities with Caution
         4.4.2         Types of Capabilities
         4.4.3         Looking at User Capabilities
         4.4.4         Using the Capabilities System Services
         4.4.5         Types of Affinity
             4.4.5.1             Implicit Affinity
             4.4.5.2             Explicit Affinity
     4.5     Using the Class Scheduler in CPU Scheduling
         4.5.1         Specifications for the Class_Schedule Command
             4.5.1.1             The Add Subcommand
             4.5.1.2             The Delete Subcommand
             4.5.1.3             The Modify Subcommand
             4.5.1.4             The Show Subcommand
             4.5.1.5             The Suspend Subcommand
             4.5.1.6             The Resume Subcommand
         4.5.2         The Class Scheduler Database
             4.5.2.1             The Class Scheduler Database and Process Creation
         4.5.3         Determining If a Process Is Class Scheduled
         4.5.4         The SYS$SCHED System Service
     4.6     Changing Process Name
     4.7     Accessing Another Process's Context
         4.7.1         Reading and Writing in the Address Space of Another Process (Alpha and I64 Only)
             4.7.1.1             EXE$READ_PROCESS and EXE$WRITE_PROCESS
    Command 1     EXE$READ_PROCESS
    Command 2     EXE$WRITE_PROCESS
         4.7.2         Writing an Executive Image (Alpha and I64 Only)
             4.7.2.1             INITIALIZATION_ROUTINE Macro (Alpha and I64 Only)
    Command 3     INITIALIZATION_ROUTINE
             4.7.2.2             Linking an Executive Image (Alpha or I64 Only)
             4.7.2.3             Loading an Executive Image (Alpha or I64 Only)
             4.7.2.4             LDR$LOAD_IMAGE (Alpha or I64 Only)
    Command 4     LDR$LOAD_IMAGE
             4.7.2.5             LDR$UNLOAD_IMAGE (Alpha or I64 Only)
    Command 5     LDR$UNLOAD_IMAGE
     4.8     Synchronizing Programs by Specifying a Time for Program Execution
         4.8.1         Obtaining the System Time
             4.8.1.1             Executing a Program at a Specified Time
             4.8.1.2             Executing a Program at Timed Intervals
         4.8.2         Placing Entries in the System Timer Queue
     4.9     Controlling Kernel Threads and Process Execution
         4.9.1         Process Hibernation and Suspension
             4.9.1.1             Using Process Hibernation
             4.9.1.2             Using Alternative Methods of Hibernation
             4.9.1.3             Using SYS$SUSPND
         4.9.2         Passing Control to Another Image
             4.9.2.1             Invoking a Command Image
             4.9.2.2             Invoking a Noncommand Image
         4.9.3         Performing Image Exit
             4.9.3.1             Performing Image Rundown
             4.9.3.2             Initiating Rundown
             4.9.3.3             Performing Cleanup and Rundown Operations
             4.9.3.4             Initiating Image Rundown for Another Process
         4.9.4         Deleting a Process
             4.9.4.1             Deleting a Process By Using System Services
             4.9.4.2             $DELPRC System Service Can Invoke Exit Handlers (Alpha and I64 only)
             4.9.4.3             Terminating Mailboxes


Previous Next Contents Index