Ciao ragazzi,
ho debuggato lo script ed ora funziona molto bene.
Lo posto qualora serva a qualcuno:
Codice PHP:
if [ "$1" = "" ]; then
echo "Specificare username"
exit 1
fi
if [ "$2" = "" ]; then
echo "Specificare processi da lasciare attivi."
exit 1
fi
echo "---> Output ps aux"
ps aux | grep "$1" | grep "postgres" | grep "idle"
ps aux | grep "$1" | grep "postgres" | grep "idle" | awk '{ print $2}' > kill_processo.tmp
cp kill_processo.tmp _kill_processo.tmp
NUMERO_RIGHE=`wc -l _kill_processo.tmp | awk '{ print $1 }'`
NUMERO_RIGHE=`expr $NUMERO_RIGHE + -$2`
echo "---> Cancellare $NUMERO_RIGHE processi."
X=1
while [ $X -le $NUMERO_RIGHE ]
do
PID=`head -n 1 _kill_processo.tmp`
echo "kill $PID"
kill $PID
NUMERO_RIGHE_TMP=`wc -l _kill_processo.tmp | awk '{ print $1 }'`
RIGHE_ERASE=`expr $NUMERO_RIGHE_TMP + -1`
tail -n $RIGHE_ERASE _kill_processo.tmp > _kill_processo.tmp2
cp _kill_processo.tmp2 _kill_processo.tmp
X=`expr $X + 1`
done
rm -f _kill_processo.tmp
rm -f _kill_processo.tmp2