Adjust to suit your needs. Currently this would kill any whois process running for more than 30 seconds or more than 1 minute.
Add it as a cronjob. The motivation is that some commands have no timeout and just end up using up CPU and memory for no reason while never exiting to free resources.
#!/bin/bash
IFS=$(echo -en "\n\b")
for pid in `ps aux|grep whois`; do
echo "pid=::$pid::"
id=`echo "$pid"|awk '{print $2}'`
echo "id=$id"
runningseconds=`echo "$pid"|awk '{print $10}'|cut -f 2 -d ":"`
runningminutes=`echo "$pid"|awk '{print $10}'|cut -f 1 -d ":"`
echo "running seconds=$runningseconds"
if [ $runningseconds -gt 30 ] || [ $runningminutes -gt 1 ]; then
echo "seconds running is greater than 30 or minutes greater than 1"
echo "kill -9 $id"
kill -9 $id
fi
done
bash, whois, longadjust, currently, cronjob, motivation, commands, timeout, cpu, exiting, bin, ifs, echo, en, quot, pid, ps, aux, grep, awk, runningseconds, runningminutes, fi,