T.R | Title | User | Personal Name | Date | Lines |
---|
153.1 | Possible solution | ZAPDEV::MACONI | The Doctor is In | Tue Oct 18 1994 11:07 | 57 |
| $ !* ZAP$DIR:ZAP$PROCESS_ID.COM
$
$ !***************************************************************************
$ !
$ ! COPYRIGHT (C) 1994 BY
$ ! DIGITAL EQUIPMENT CORPORATION, MAYNARD
$ ! MASSACHUSETTS. ALL RIGHTS RESERVED.
$ !
$ ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
$ ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
$ ! OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES
$ ! THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER
$ ! PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
$ !
$ ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
$ ! SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
$ !
$ ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
$ ! SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
$ !
$ !***************************************************************************
$
$ ! Set up error checking
$
$ Set noon
$ On error then exit
$
$ ! Enable privileges
$
$ Set process/priv=(noall,tmpmbx,netmbx,world)
$
$ ! Get a list of the processes identifiers
$
$ Process_Ids = "," + f$getjpi(p1,"process_rights") + ","
$
$ ! Check to see if the process contains the following rights.
$ ! Always include the right between commas to ensure exact matches
$
$ If f$locate(",LOCAL,",Process_Ids) .lt. f$length(Process_Ids) Then -
Goto Process_Has_Local_Id
$
$ Goto No_Match_Found
$
$ Process_Has_Local_Id:
$
$ ! Stop the process
$ ! P1 contains the PID of the target process
$
$ Stop/Id='p1'
$
$ Exit 1
$
$ No_Match_Found:
$
$ ! Ignore the process
$
$ Exit 1
|
153.2 | Thanks- Have a question... | TROU07::HANDY | Lyndon Handy-ITU Operations | Tue Oct 18 1994 16:50 | 8 |
| Thanks!
Is it safe to say that the USERxxx callable routine will only be executed
for a particular process-id when the idle time period expires. I just want
to double-check on this before I implement, as I don't want to see processes
killed that have not reached their respective idle timeout period.
Lyndon
|
153.3 | Yes | ZAPDEV::MACONI | The Doctor is In | Thu Oct 20 1994 09:32 | 14 |
| The action specified is only taken when the process reaches the idle time limit
as specified in that exception rule.
Caution: USERxxx routines generate a sub-process to execute the command
procedure each time a process reaches it's idle time limit. You may
need to increase the process limit for ZAP otherwise not all "idle"
processes will be able to have the action taken. It all depends on
how many processes reach their limit at the same time.
You should check your ZAP log file to determine if there were any times that it
could not start the sub-process. If you find any, modify the ZAP startup
procedure and restart ZAP to correct the problem.
Keith
|
153.4 | Thanks | TROU07::HANDY | Lyndon Handy-ITU Operations | Fri Oct 21 1994 14:04 | 9 |
|
>You should check your ZAP log file to determine if there were any times that it
>could not start the sub-process. If you find any, modify the ZAP startup
>procedure and restart ZAP to correct the problem.
Thanks, will do.
Lyndon
|
153.5 | Problem With ZAP Messages After Implementing | TROU07::HANDY | Lyndon Handy-ITU Operations | Thu Nov 17 1994 13:15 | 15 |
| Ok, the procedure and modifications seem to work fine, however, we have
run into an unanticipated problem.
The 'special' group of users that have the NOZAP identifier still get
messages after the timeout period has expired, even if their process is
NOT to be deleted by ZAP. For example, I granted my account the NOZAP
identifer, and logged in. I received regular messages from ZAP that the
timeout period was about to expire, then it gave me a 'logout' message,
however my process was unaffected.
Can I suppress these messages for the 'special' users? We still require
these messages to be send to the terminals of those users whos processes
WILL be stopped by ZAP.
Lyndon
|
153.6 | Rules processing prohibits it | ZAPDEV::MACONI | The Doctor is In | Thu Nov 17 1994 14:01 | 14 |
| In a word, no.
The reason is that messages are sent out as a process approaches it's idle time
limit because of the exception rule used for the process. If the exception
rule indicates that messages are to be sent out, then they are.
Since you are actually performing an additional check _after_ Zap has
activated the user written procedure, there is no way to tell Zap that no
messages were required.
What you face is your original problem again. How do you distinguish different
processes to Zap without adding rules for each user?
Keith
|