From: MERC::"uunet!WKUVX1.BITNET!MacroMan" 4-NOV-1992 15:39:50.49 To: MACRO32@WKUVX1.BITNET CC: Subj: RE: re: idle terminal... "Bob George" writes: > >#Some idle-process killers issue a $FORCEX to the process (to force image >#exit) and then issue $DELPRC (for example, Matt Madison's excellent program >#WATCHER). > >The $FORCEX just terminates any image that you have running and returns >control to DCL. That wouldn't have any effect on the nodelete bit, would >it? Then the $DELPRC does check the nodelete bit (and other things) before >it trys to kill the process. > Checking NODELETE only started happening with VMS v5.something. >#I don't believe $FORCEX or $EXIT pay any attention to the nodelete >#flag (because an image exit isn't a process deletion). > >The $FORCEX or $EXIT wouldn't kill the process either - just knock you >down to the CLI. > There is a way to avoid these too. I had to do this once for software that I didn't want $DELPRCed, $FORCEXed, *or* suspended. Set the following bits in the PCB: PCB$V_SUSPEN !Suspend is pending PCB$V_DELPEN !Delete is pending PCB$V_FORCPEN !FORCEX is pending With these set, the appropriate system services are fooled into thinking that another whatever is pending and they do nothing. For example, calling $FORCEX with FORCPEN set causes $FORCEX to say, "Oh, there's already a $FORCEX pending, so I don't have to do anything." And this worked under VMS v4.x too. This has always been one of my favorite hacks.... Hunter ------ Hunter Goatley, VMS Systems Programmer, Western Kentucky University goathunter@WKUVX1.BITNET, 502-745-5251