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