Controlling InterSystems IRIS Processes
An InterSystems IRIS system runs a number of processes. Application code as well as InterSystems IRIS system code executes within these processes. There are three categories of InterSystems IRIS processes:
-
User processes, created when a user connects to InterSystems IRIS.
-
Background processes, created when a user issues an ObjectScript Job command, or by the Management Portal or a utility (see Using the Background Tasks Page).
-
InterSystems IRIS system processes.
In this page, the word process by itself refers to both user and background processes.
Available Options
You can manage and control processes using the Management Portal as follows:
Function | How to Access Function From The Portal |
---|---|
Display process information |
Display the Processes page (System Operation > Processes). |
Display process details |
Display the Processes page, then click Details in the right hand column of the selected process to display the Process Details page. |
Suspend/resume a process |
Display the Processes page, then click Details in the right hand column of the selected process to display Process Details page. Then click Suspend or Resume on the operations bar, as desired. |
Terminate a process |
Display the Processes page, then click Details in the right hand column of the selected process to display the Process Details page. Then click Terminate or Terminate with <RESJOB> Error on the operations bar, as desired. |
Display process variables |
Display the Processes page, then click Details in the right hand column of the selected process to display the Process Details page. Then click the Variables tab to display the process variables. |
Broadcast messages to terminals |
Display the Processes page and click the Broadcast button to open the Broadcast dialog. |
Display Process Information
To display all the active processes on the system and basic information about each, navigate to the Processes page (System Operation > Processes), which displays a table of the processes with statistics about each in columns.
The following table describes the process information available for display:
Column Heading | Definition |
---|---|
Job # | Index of the Processes table. |
Process ID | Operating system process identification number (PID).* |
Total CPU Time in ms | Total amount of system and user CPU time, in milliseconds, that the process took to execute. |
User | Name of the user who owns the process. |
Device | Current device the process is using. This can be:
|
Namespace | Namespace in which the process is running. |
Routine | Name of the routine that the process is currently executing. |
Commands | Number of commands executed. |
Globals | Number of global references, including updates, executed (database reads and writes) since the process entered InterSystems IRIS. |
State | Process state. See the StateOpens in a new tab property of the %SYS.ProcessQueryOpens in a new tab class for an explanation of each state. |
Client Name | Name of the client system that connected to, or initiated the connection to, the process. |
Client EXE | Name of the executable that called the process. |
Client IP | IP Address of the system that initiated the process. |
O/S Username | Username assigned to the process by the operating system. |
Details | Button appears if you have authority to maintain this process. See Display Process Details. |
* An asterisk (*) appears next to the process id if the user entered InterSystems IRIS in programmer mode. A plus or minus sign appears next to Callin processes:
-
+ Process is in InterSystems IRIS
-
– Process is not in InterSystems IRIS
The Callin API is an InterSystems IRIS facility that lets you execute and evaluate ObjectScript commands and expressions from within C programs.
Display Process Details
The Process Details page displays detailed information about any process. To access this information from the Management Portal:
-
Display the Processes page (System Operation > Processes).
-
Click Details in the row of the appropriate process. (This option exists only on processes that you have authority to maintain.)
-
Optionally select the SQL table & statement info check box. This option adds SQL-related information to the display.
The page also includes information specific to the selected process, which is organized into a General Information table, a Client Application Details table, and a Execution Details table:
Field | Definition |
---|---|
Process ID | Process ID (PID) number of this process. |
User Name | Name of the user currently logged in for this process. |
Login Roles | Login roles for the process. |
Escalated Roles | Additional roles granted to the process. These roles plus the Login Roles is the total set of roles granted to the process. |
OS User Name | Username assigned to the process by the operating system. |
NameSpace | Namespace in which the process is executing. |
Process Priority | Priority level of this process. |
Global References | Number of global references made by this process. |
Private Global References | Number of private global references made by this process. |
Commands Executed | Number of commands executed by this process. |
Memory Limit | Amount of memory (KB) allocated for use by this process. |
Memory Peak | Peak amount of memory (KB) used by this process. |
Memory Used | Amount of memory (KB) currently in use by this process. |
Total CPU Time | Total amount of system and user CPU time, in milliseconds, that the process took to execute. |
Private Global Blocks | Number of private global data blocks used by this process. |
Current Device | Name of the I/O device currently in use by this process. |
Open Devices | List of devices currently opened by this process. |
Lock | Lock information for this process. Click the link at top of the detail box for additional details (mode, counts, and full reference). |
Field | Definition |
---|---|
Client Name | Node name of the client that is connected, or initiated the connection, to this process (if any). |
EXE Name | Name of the executable client application client connected to this process (if any). |
Client IP Address | IP address of the executable client application client connected to this process (if any). |
Info | User-defined information (if any). |
Field | Definition |
---|---|
Process State | Current execution state of this process. |
In Transaction | Indicates whether or not this process is currently within a transaction. |
Last Global Reference | Last global referenced by this process. |
Last SQL Table Reference | Last SQL table referenced by this process, if any. (Select the SQL table & statement info check box in order to see this data.) |
Routine | Name of the routine this process is currently executing. |
Source Location | Last reported source location (routine name plus offset) of this process. |
Source Line | Last reported line of source code executed by this process, if available. |
From this page you can also stop or resume a process. You can stop a process in one of the following ways:
-
Suspend a process with the intention of resuming the process later.
-
Terminate a process, which entirely cancels the process.
Suspend or Resume a Process
You may want to suspend a process if you are not sure what it is doing and want to investigate, or if a more important process is trying to run and needs the CPU cycles. To access this option from the Management Portal:
-
Display the Processes page (System Operation > Processes).
-
Click Details in the row of the appropriate process. This option only exists on processes that you have authority to maintain.
-
Click Suspend on the options bar.
You may resume a suspended process at any time by clicking Resume from the same page.
Terminate a Process
You may want to terminate a process if it becomes unresponsive or is affecting other processes or users. To access this option from the Management Portal:
-
Display the Processes page (System Operation > Processes).
-
Click Details in the row of the appropriate process. (This option exists only on processes that you have authority to maintain. The portal displays the Process Details page for the process you selected.
-
Click Terminate on the options bar.
Optionally, to log the status of the process when it terminates, select the Terminate with RESJOB Error check box.
Note:This option is enabled by default.
-
Click Yes to confirm that you want to terminate the process. There is no way to resume a terminated process.
Display Process Variables
The Process Variables page displays all the variables used in the selected process giving the global name and the value of the global. To access this information from the Management Portal:
-
Display the Processes page (System Operation > Processes) page.
-
Click Details in the row of the appropriate process. (This option exists only on processes that you have authority to maintain.) The portal displays the Process Details page for the process you selected.
-
Click Variables on the options bar.
If you have selected the SQL table & statement info check box, this table includes a column via which you can directly view the cached squery, if any.
Broadcast Messages to Terminals
You can broadcast messages to the terminals associated with a selected process or all processes; this utility is useful, for example, to ask people to sign off the system. However, you must use it carefully or you may cause messages to appear in the middle of reports that may be printing at the time.
The utility temporarily takes control of each terminal as it sends the message. Once the terminal receives the message, the previous process continues. The message appears on the terminal screen; it may disrupt the screen display, but it does not affect user input. The message does not appear in windows running ObjectScript utilities.
To broadcast a message to the terminals associated with a selected process, do the following in the Management Portal:
-
Display the Processes page (System Operation > Processes).
-
Click Broadcast (on the options bar) to open the Broadcast window.
-
Enter the message to broadcast in the text box.
(The dialog box notifies you if there are no active processes that can accept a message; you do not see a message text box or list of processes. Click Close.)
-
Select the appropriate check boxes for the appropriate processes (PIDs) to receive the broadcast message. Use the Select All and Clear All buttons accordingly to help with the selection.
-
Click Broadcast.
-
After the completed message displays, click Close.