Code: Select all
#!/bin/sh
# $MAPPS/Systeme/cleanup_mem.sh # simple tool for puppy linux to clean caches
# Joe Arose, alias "big_bass" # Mise en forme et ajouts par musher0,
# 20 mai 2013; rév. 30 janv. 2015
#rev. 31 Janv Médor.
####
MMLBR="/tmp/mem_libr.txt";RMPL="replaceit --input=$MMLBR" # variables
if [ ${LANG:0:2} = "fr" ];then # param. less
MEV="'q' pour quitter =-=-=-= Mémoire vive libérée";AV="Avant (Mo)";AP="Après (Mo)"
else
MEV="'q' to quit =-=-=-= Freed RAM";AV="Before (MB)";AP="After (MB)"
fi # langues, 1
##[ "`pidof -s aepanel`" ] && echo "aepanel existe" > /tmp/aepanelE && kill [ "`pidof -s aepanel`" ] &>/dev/null # si aepanel
> $MMLBR # Créer fichier à afficher
FreeMem ()
{
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= .......... =-=-=-=-=-=-=-=-=-=-=-=-=-=" >> $MMLBR
if [ ${LANG:0:2} = "fr" ];then
echo " total utilisé libre partagé tampons" > /tmp/mevlibr
free -m | tail -n 3 >> /tmp/mevlibr
cat /tmp/mevlibr >> $MMLBR;rm -f /tmp/mevlibr
else
free -m >> $MMLBR
fi
echo . >> $MMLBR
}
a="`free -m | awk 'NR=="2" { print $4 }'`"
echo " $AV" >> $MMLBR
FreeMem # L'avant
sync ; echo 3 > /proc/sys/vm/drop_caches;wait # Action
b="`free -m | awk 'NR=="2" { print $4 }'`"
echo " $AP" >> $MMLBR
FreeMem # L'après
d="`free -m | awk 'NR=="4" { print $3 }'`" # État du fichier d'échange
c="`expr $b - $a`" # calcul
if [ ${LANG:0:2} = "fr" ];then
[ "$d" = "0" ] && INCHANG="fich. d'échange non utilisé" || INCHANG="fichier d'échange UTILISÉ"
TITR="MEV libérée : $c Mo; $INCHANG."
# Traduction
$RMPL "-/+ buffers:" " ± tampons :";$RMPL Swap Éch.;$RMPL "Mem:" Mém.
else
[ "$d" = "0" ] && INCHANG="swap file not in use" || INCHANG="swap file IN USE"
TITR="Freed RAM: $c Mb; $INCHANG."
fi # langues, 2
# Afficher
G="g 72x15-250+300";CLR="fg white -bg AntiqueWhite4" # param. urxvt
TRNSP="tr -tint grey79 -sh 99";FNT="fn xft:Monaco:pixelsize=13:autohint=true"
urxvt -$G -T "$TITR" +sb &>/dev/null -e less -L -~ -P "$MEV" $MMLBR
# Terminer # Replacer aepanel s'il y a lieu, et
rm -f $MMLBR # nettoyage
Médor.