#!/bin/sh ######################################################################### # # FILE : idle # DATE : 2.9.1999 # AUTHOR : Patrick Meier / patrick.meier@gmx.net # DESCRIPTION : find all idle users # # Copyrigth (C) 2001 by Patrick Meier, Switzerland # ######################################################################### PN=`basename "$0"` ######################################################################### # Usage ######################################################################### Usage() { echo "$PN - find all idle users" echo "usage: $PN" exit 1 } ######################################################################### # get process number ######################################################################### getSpaces() { echo $@ | awk '{ spaces="'$1'"-length("'$2'"); printf "'$2'"; for( i=0; i"row"/"param[startIndex+column]; } } if( column==3 ) { row=oldRow; row=row"$$"param[startIndex+column]; column++; } print row; }';`" for i in $idleUsers do user="`echo \"$i\" | awk -F$ '{print $1}'`" printUser="`getSpaces 8 $user`" terminal="`echo \"$i\" | awk -F$ '{print $2}'`" printTerminal="`getSpaces 8 $terminal`" time="`echo \"$i\" | awk -F$ '{print $3}'`" printTime="`getSpaces 8 $time`" command="`echo \"$i\" | awk -F$ '{print $4}'`" printCommand="`getSpaces 20 $command`" command="`echo $command | sed 's/\-/\\\-/g'`" process="`ps -ef | grep $user | grep $terminal | awk '{print $2}'`" printProcess="`getSpaces 8 $process`" echo "user: $printUser idle since: $printTime terminal: $printTerminal possible processes: $printProcess command: $printCommand" done } ######################################################################### # main ######################################################################### while [ $# -gt 0 ] do case "$1" in -h) Usage; exit 1;; -*) Usage; exit 1;; *) break;; esac shift done printIdleUsers ######################################################################### # EOF #########################################################################