The IDLEUSER report is accurate and up-to-date as of its timestamp. But I'm using it to implement a security policy to disconnect userids
(people) that have been idle more than a specified number of minutes.

So I need to look at the IDLEUSER report immediately after it's
generated otherwise I could mistakenly use a 59 seconds old (stale)
report to disconnect people that were actually very active between the
time the report was generated and when I used the report.

There still is a way of doing it based on the built-in FC FORCEUSER facility of PerfKit:

1. Activate FORCEUSER IDLE in TEST mode.
   This way you'll use PerfKit's internal logic to determine whether
a user remained idle for too long. But instead of actually doing a 'FORCE LOGOFF' for the user after the selected period PerfKit
   will just generate a message line on its basic mode screen to indicate
   that the user would have been forced.
2. Intercept that message line using 'FC PROCESS CPMSG ..', call
   an EXEC and pass the message line to it as arguments.
3. In the EXEC issue the 'FORCE DISCONNECT' command for
   the idle user.

Since the 'FORCE' message for idle users will be issued right after
processing new sample data there should be only an extremely short period during which there's still a risk of a user having become active again before the EXEC issues the 'FORCE DISCONNECT'.
A built-in FORCE DISCONNECT would be a lot better, of course,
but the above method probably still beats attempting to synchronize
your own post-processing of the IDLEUSER data with the CP
MONITOR sample interval.
Anyway: it's the best I can offer. For a built-in FORCE DISCONNECT
you'll have to convince Endicott ..

Eginhard

Reply via email to