HPlogo Process Management Programmer's Guide: 900 Series HP 3000 Computer Systems > Chapter 4 Managing a Session Programmatically

Aborting a Session Programmatically

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

Once your program has successfully created a session using the STARTSESS intrinsic, your program no longer has any control over that session, except to abort it using the ABORTSESS intrinsic. The newly created sessions runs as an independent system-managed process and is not a child process of the process that invoked STARTSESS.

The ABORTSESS intrinsic (the programmatic equivalent to the :ABORTJOB command) is provided to enable your program to remove (abort) a selected session from your system. ABORTSESS is commonly used in conjunction with the STARTSESS intrinsic to allow your program a limited form of control over interactive sessions located on your system.

Requirements for Using ABORTSESS

While the ABORTSESS intrinsic does not require either the PS or the PH capabilities, your program can successfully call ABORTSESS only if the program is executing in a session (or job) that satisfies one or more of the following conditions:

  • Your session is on the System Console, or has been allowed the :ABORTJOB command by the Console.

  • :JOBSECURITY has been set to LOW and one of the following three conditions is true:

    1. The user and account names of your session are the same as the user and account names of the session to be aborted.

    2. Your session has AM capability, and the account name of your session is the same as the account name of the session to be aborted.

    3. Your session has SM capability.

NOTE: Aborting a session or job is a last resort measure. If you must do so, make sure you abort the right one, and make every effort to warn the user first.

Identifying the Job/Session You Want Aborted

The ABORTSESS takes as a required parameter the job/session number the system has associated with the session you want to abort. The STARTSESS intrinsic returns this job/session number to your program when you create the session.

The JOBINFO intrinsic can also return a job/session number if you pass it the user and account names of a selected session, but if there are multiple sessions associated with the same user and account, you cannot be guaranteed that JOBINFO will return the correct job/session number. In this case, the value returned by STARTSESS is the safest value to use.

An example of an ABORTSESS call is:


   ABORTSESS(JSID,JSNUM,JSSTATUS)

The parameters specified in the example are described below:

JSID

Passes an integer value indicating whether the process to be aborted is a session (JSID=1) or a job (JSID=2). This parameter is necessary because session numbers and job numbers can be identical.

JSNUM

Passes the system-defined session number or job number of the process that is to be aborted. This value was returned by the STARTSESS intrinsic when you created the session you are now planning to abort.

JSSTATUS

Returns status information about the success or failure of the intrinsic call.

ABORTSESS deletes the specified session or job from the system and sends a message to the standard list device ($STDLIST) of the aborted session or job:


   SESSION ABORTED BY SYSTEM MANAGEMENT

or


   JOB ABORTED BY SYSTEM MANAGEMENT

No abort message is sent to the System Console. The session or job is deleted from the system in a fashion similar to that described in "Deleting Processes" in Chapter 2 "Process Management Tasks".

For more information about managing jobs and sessions on MPE/iX, refer to Managing Jobs and Sessions (32650-90035).

Feedback to webmaster