Generated from C.60.01 /SYS/PUB/CICAT last modified on Thu Jan 11 09:18:52 2001
The ABORTPROC command aborts the specified process(es). This command requires OP or SM capability.
ABORTPROC [ [PIN=]{pinspec }] {(pinspec [,pinspec ]...)} [;SYSTEM]
pinspec The process(es) to abort. This is a required parameter. The syntax for pinspec is: [#P]pin[.tid] where PIN is the Process ID number and TID is an optional thread ID number. A leading "#P" is optional. To abort more than one process, a list of PINSPECs can be specified. The list is enclosed in parenthesis and individual PINSPECs are separated by commas. If a list is specified it is processed in order, from left to right. ABORTPROC stops processing the list if an error is detected. Duplicate PINs are not detected. Although a PIN value of zero has meaning in the SHOWPROC and ALTPROC commands, it is invalid in ABORTPROC. To kill yourself use the HPPIN variable, e.g., ABORTPROC !hppin SYSTEM The SYSTEM option is necessary if the target process is a detached system process. SM capability is required to use the SYSTEM option. All processes in MPE/iX of fall into one of six process types shown below. Processes with a process type greater than or equal to four are considered system processes. System processes are not abortable unless they have a process type of five indicating they are "detached". Process Type Abortable Restrictions ----------------------------------------------- 0 User Y SM or OP capability. 1 Son Y SM or OP capability. 2 Usermain Y SM or OP capability. (CI) 3 reserved n/a n/a 4 System N Not Abortable 5 Detached Y Must specify ;SYSTEM. SM capability is required. 6 Ucop N Not Abortable (JSMAIN) 7 reserved n/a n/a Processes with a process type of 0, 1 or 2 are considered user processes, and are abortable by any user with SM or OP capabilities. However, see the exceptions described in the Operation section. The Command Interpreter (CI) process for all jobs and sessions has a process type of 2. Any process that is an immediate child of a CI process has a process type of one. Processes which are descendants of processes with process type 1 or 0, have a process type of 0. If a user specifies the SYSTEM option, and the process is not a system process (process type < 4), the SYSTEM option is silently ignored.
The ABORTPROC command attempts to abort the specified process(es) and all of their children processes. MPE/iX currently does not support a means for children processes to survive the death of the parent process. If one or more child processes cannot be aborted, their parent process cannot be terminated either. There are specific circumstances where a user process is not abortable. Examples discussed below involve "critical" processes, session processes in break mode and certain network server processes. The MPE/iX Operating System uses a mechanism known as SETCRITICAL to prevent a process from being aborted. The SETCRITICAL method is used to protect the integrity of system data structures. A process that is SETCRITICAL cannot be aborted. It is normal for all processes to periodically be SETCRITICAL (e.g., when executing system code), and they will RESETCRITICAL when it is safe for them to be aborted. The ABORTPROC command works in conjunction with the SETCRITICAL mechanism and is designed so that it will never abort a process which is SETCRITICAL. If a process is critical, ABORTPROC will notify the process that it should abort as soon as it is possible to terminate safely. If the target process, or any of its children processes, are in break mode they cannot be aborted, and an error is reported. This is due to the MPE implementation of break, and because all processes in the same session process tree share the same terminal LDEV. An exception to this exception is when the target process is the usermain process, typically the CI. In this case it is abortable by ABORTPROC, even when it is in break mode. If the target process is a direct child of JSMAIN and is a user process type (0 or 1) it also cannot be aborted. The problem here is that these processes are typically networking server processes that are associated to a peer CI (usermain) process. If they are killed the associated CI is not notified and the CI and its children processes are not terminated. An example of these kinds of processes are the NS/VT servers. The above three cases (critical, break, network server) are anticipated situations where ABORTPROC displays a CI error message and does not try to kill the process. In all other cases ABORTPROC attempts to abort the target process, and if the abort fails the process the target process is marked as having an "abort pending". Processes with aborts pending are terminated when the condition that prevented the successful abort is resolved. When ABORTPROC is used on a process that is already marked as dying, a CI warning is reported. System supervisor (OP) or System Manager (SM) capability is required to execute the ABORTPROC command. SM capability is necessary to abort detached system processes. The ABORTPROC command may be issued from a session, job, program, or in BREAK. Pressing [Break] aborts the execution of this command.
To abort process 133 and its current descendants, enter: ABORTPROC #P133 or ABORTPROC 133 To abort processes 122, 133 and 175, enter: ABORTPROC (122, 133, 175) NOTE: To specify a list of processes, enclose the list in parenthesis and separate the pinspecs with commas. To abort process 85 (assuming PIN 85 is a detached system process), enter: ABORTPROC 85;SYSTEM NOTE: SM capability is required to abort system processes.
Commands: ABORTJOB, ALTPROC, BREAKJOB, RESUME, SHOWPROC Manuals : MPE/iX Intrinsics Reference Manual (32650-90028) Back to Main Index