Szerver üzemeltetésénél fontos a szerver működőképességének megőrzése. Két dolog van, ami sosem elég, egyik a tárhelykapacitás, a másik pedig a szabad memória. Ez utóbbinak megőrzésére mutatok be egy scriptet, ami hasznos lehet másnak is:
#!/bin/sh
KILL_LEVEL="40"
FILTER=".*"
SUBJECT="Killed process by memcheck"
ALERT_EMAILS="cimzett1@domain.tld cimzett2@domain.tld"
ps -A -o comm,pmem,pid,args | grep "$FILTER" | while read line
do
  date=`date '+%Y-%m-%d %H:%M'`
  if [ $(echo "$line" | awk '{printf int($2)}') -gt $KILL_LEVEL ]
  then
    kill -9 `echo $line | awk '{printf $3}'`
    server=`cat /etc/hostname`
    prog=`echo $line | awk '{$2="";$3="";print " "$0}'`
    body="Killed:n   server:  $servern   date:    $daten   cmd:$progn"
    for i in $ALERT_EMAILS
    do
      echo -e "$body" | mail -a "From: felado@domain.tld" -s "$SUBJECT" "$i"
    done
  fi
done
Ha nem akarjuk automatizálni, csak elindítani parancssorban, akkor érdemes lehet egy while ciklus közé fogni:
root@bash# while true
do
  ...ide jöhet az előző script egy-az-egyben, majd az 5 másodperces pihenő
  sleep 5
done
Persze célravezetőbb, ha beautomatizáljuk a script működését a cron segítésével.