Please help, im modifing an idle script to capture (not kill) users who havee been idle over a time. now i've got to work with the exection of users whos idle time gove over 24 hrs and becomes "old". please advice on how to correct...
Code:
#Clear old report, generate new data and new report
echo "\n `date` \n" > /tmp/idle.report
clear
who -u > /tmp/idle.a
grep -v "\. " /tmp/idle.a > /tmp/idle.b
count=0;
while read a b c d e f g;
do
hrs=$(echo $f | awk -F: '{print $1}' )
name=$(grep $a /etc/passwd | awk -F: '{print $5}')
#Users logged in over 24 hours
if [ $hrs = `old` ] ; then
echo "UID $a \n USERNAME $name \n IDLE FOR OVER 24 HOURS \n ON PORT $b \n TOTAL TIME OVER 24 HOURS \n" >> /tmp/idle.report
let count=$count+1
else
#Hours allowed
if [ $hrs -gt 8] ; then
echo " UID $a \n USERNAME $name \n IDLE FOR $hrs HOURS \n ON PORT $b \n TOTAL TIME $f \n" >> /tmp/idle.report
let count=$count+1
fi
fi
done < /tmp/idle.b
echo "\n\n TOTAL USERS IN IDLE..:$count\n" >> /tmp/idle.report
# Only email report if there is 1 or more users that is on idle
if [ $count -gt 0 ] ; then
mailx -s "Idle report `date`" user@email.com < /tmp/idle.report
fi
My max user parm is set to 1050. I'm currently at 1038 this is causing major slow downs on the server. I looking for a way log off "idle" user logins with out having to do it individually. :confused: (5 Replies)
I am trying to write a script that will list the idle users on my system which is running HPUX 11.11. The script is currently written as :
who -u > /home/rfm/scripts/user.txt
echo " There are currently... "
wc -l /home/rfm/scripts/user.txt
echo " User logins on System : `uname -n` ... (3 Replies)
hello, i am VERY new to this whole script world. I need to come up with a script that will email a user if they have an idle process past 500 minutes...any suggestions??? Thanks so much. (0 Replies)
Im "supporting" at least 2500 HP-UX workstations with CAD-related software with the B.11.11 build. I cant say anymore than that because of my companys sligtly paranoid security policy .
The last few days a new problem has arised from nowhere.
The problem is that users gets logged off when the... (5 Replies)
I wrote a script to kill users idle more than 1/2 hour, ignoring those in an exception list. Here is the script as it is now:
#! /usr/bin/awk -f
BEGIN {
system("who -u | sort +5 > /tmp/loginfile");
system("echo User Sessions Killed > /tmp/killedlogins");
... (2 Replies)
Hi,
In my network we uses the NetTerm program to connect us to HP-UX 10.x server from windows workstations, but in some cases the user doesn't logout and close it by window's x button. The problem is that in HP-UX the user and all his tasks remain active and when he enter again HP-UX creates a... (12 Replies)
We recently underwent a security audit and have a new requirement to not allow users to stay logged on overnight. In order to place this policy into effect i need a way to check for idle users and log them off. Is there any good way to enforce this policy in Solaris 10 and make it work in such a... (11 Replies)
Hi
The telnet sessions stay as idle users. It is not getting kicked out.
Please advise what could be the issue. only when we reboot the server these telnet sessions goes.
Below is the current output from the server. we rebooted the server three days ago:
pmut6:/> uptime
04:21PM... (8 Replies)
Discussion started by: newtoaixos
8 Replies
LEARN ABOUT HPUX
xtappaddworkproc
XtAppAddWorkProc() XtAppAddWorkProc()
XtAppAddWorkProc - register a procedure to be called when the event loop is idle.Synopsis
XtWorkProcId XtAppAddWorkProc(app_context, proc, client_data)
XtAppContext app_context;
XtWorkProc proc;
XtPointer client_data;
Inputs
app_context
Specifies the application context.
proc Specifies the procedure that is to be called when the application is idle.
client_data
Specifies data to be passed to proc when it is called.
Returns
A handle of type XtWorkProcId that can be passed to XtRemoveWorkProc() to unregister the work procedure.
Description
XtAddWorkProc() registers the procedure proc and the data client_data to be called by XtAppNextEvent() or XtAppProcessEvent() when there
are no pending input events and it would otherwise block. Multiple work procedures can be registered, and the most recently added one is
always the one that is called. However, if a work procedure itself adds another work procedure, the newly added one has lower priority
than the current one.
A work procedure returns a Boolean. If it returns True, it will automatically be unregistered and will not be called again. If it returns
False it will be called the next time the application is idle. See XtWorkProc(2) for more information.
Usage
XtAppAddWorkProc() implements a limited form of background processing. Most applications spend most of their time waiting for input; to do
useful work during this idle time, you can register a work procedure that will run when the application is idle.
A work procedure must return quickly or the application will not be able to promptly respond to user events. If a large task needs to be
done in the background, the work procedure should periodically save its state and return False. Work procedures should not be used to do
frivolous work in the background. In a multi-tasking system, an idle application should generally actually be idle, and not steal CPU time
from other processes.
A work procedure can be explicitly removed by calling XtRemoveWorkProc() with the XtWorkProcId returned by this function.
Structures
The XtWorkProcId type is defined as follows:
typedef unsigned long XtWorkProcId;
See AlsoXtAppNextEvent(1), XtAppProcessEvent(1), XtRemoveWorkProc(1),
XtWorkProc(2).
Xt - Event Handling XtAppAddWorkProc()