| The $FORCEX system service will send an AST to the target process and
request that it issue a $EXIT system service. This will, in turn,
cause the process to trap into any exit handlers that may be defined.
If ASTs are not being delivered, the process will not exit.
No notification is sent to the requesting process to indicate if the
target process did exit or not.
$DELPRC initiates a process rundown on the target process as soon as
the target process can become active. This means that a suspended
process will be activated than run down. (A suspended process can not
be killed via $FORCEX). A message is sent to the requestor when the
process rundown has neared completion.
It is possible to issue the $FORCEX and then wait a minute or two
before issueing the $DELPRC. The ZAP utility only issues the $DELPRC
system service to delete a process.
Keith
|
| More on FORCEX please,
DSM (Digital Standard Mumps) cannot be killed using the $DELPRC
because in some cases if the process has a lock on DSM's database
this will hang the database.
Can you consider making two passes with Zap, first use FORCEX and then
DECPRC minutes later? Or maybe make this an option?
-thanks in advance - Paul
|
| Hi,
Let me check into how this will work. Normally, the $FORCEX is only
used to exit a specific IMAGE and then $DELPRC would be used to kill the process
once it is at the $ sign. Something like,
Rule 4: User:*, Uic:[*,*], Image:MUMPS_PROGRAM ... ACTION:EXIT
Rule 5: User:*, Uic:[*,*], Image:*, ... ACTION:STOP
This would cause the process running the MUMPS_PROGRAM program to have
a $FORCEX to drop it to the $ sign and then rule 5 would kick in and stop the
process. This, of course, allows the process TWO idle time limit periods, one
for each rule.
I will check to see what can be done with programs that do not exit when
the $FORCEX does not work.
Keith
|