 |
n3o |
tanto c'è SPASS...

Registered: Oct 2005
Posts: 134 (0.02 al dì)
Location: Brescia
Corso: Informatica Magistrale
Anno: 1°
Time Online: 1 Day, 19:26:05: [...]
Status: Offline
Edit | Report | IP: Logged |
Ma dove li trovi questi orrori ???
code: #!/bin/sh
MAXSIZE=0
MAXPID=0
for PROC in $(ps alx | tr -s ' ' : | cut -d : -f 5,8); do
PID=$(echo $PROC | cut -d : -f 1)
SIZE=$(echo $PROC | cut -d : -f 2)
if [ $PID % 2 -eq 1 -a $SIZE -gt $MAXSIZE ]; then
MAXPID=$PID
MAXSIZE=$SIZE
fi
done
echo "Processo con PID dispari più esoso: $MAXPID con $MAXSIZE KB"
Spiegazione:- Dalla lista di tutti i processi comprimo tutti gli spazi contigui nel carattere ':' che userò come separatore di colonne (lo spazio faceva danno); estraggo le colonne 5 e 8 che sono PID e SIZE (anche qui trovate osservando il comportamento dei comandi)
Le righe ora sono della forma PID:SIZE (12:552)
- Estraggo i PID come prima colonna dalla variabile PROC
- Estraggo i SIZE come seconda colonna dalla variabile PROC
- Se il PID % 2 è uguale a 1 (dispari) e SIZE è maggiore di MAXSIZE
- Aggiorno il PID e il SIZE massimi
__________________
The answer is blowing in the wind...
Last edited by n3o on 19-07-2007 at 20:35
|