AIX kill process based on date
root@aixprod /root/scripts# cat kill_process.sh
#!/usr/bin/ksh93
#@(#) kill all process for a specific user which started at more than 1 day
#############################################
# version 1.0 06-2024 manu
#############################################
dir=`dirname $0`
. $dir/.env
listuser="glpiagent lpar2rrd"
#-------------------------------------------
kill_process ()
{
date +"%Y-%m-%d %H:%M:%S"
echo "#### Processes than 'll be killed"
for user1 in $(echo $listuser)
do
echo "########## for user: $user1"
echo
usr=$(echo $user1 | cut -c1-8)
for line in $(ps -efo user,pid,args,etime | grep "$usr" | tr '\t' ' ' | tr -s ' ' | sed 's/^\ //g' | sed 's/\ /;/g')
do
process=$(echo $line | cut -d';' -f2)
time1=$(echo $line | rev | cut -d';' -f1 | rev)
# Check if process exist for more than one day
if [ $(echo $time1 | grep -c '-') -ge "1" ]
then
echo "$line"
kill -9 $process
fi
done
done
}
kill_process > $logname 2>&1