Sometimes you may need to kill hanged processes with high CPU usage automatically. the following script can help you to do it :
#!/bin/bash
PROCESSNAME=''
HL=10
IFS=$'\n'
L=$(ps aux | grep $PROCESSNAME)
for fn in $L; do
PID=$(echo $fn | awk '{print $2'})
LOAD=$(echo $fn | awk '{print $3'})
if [ $(echo "$LOAD > $HL" | bc -l ) -eq 1 ]
then
kill -9 $PID
echo "Killed $PID"
fi
done
Set PROCESSNAME to the process name which you want to be checked and HL to high load threshold.
Please note the load is based what ‘ps’ command reports and not what you see inside ‘top’.