PDA

Visualizza la versione completa : Problema occupazione memoria script ciclico


zeatles
13-06-2012, 19:12
Ciao a tutti, premetto che sono un neofita di linux ma per necessità di lavoro ho realizzato un piccolissimo script su un dispositivo di IO che utilizza un core linux e che controlla ogni 4-5 secondi quante istanze di un processo ci sono e se tale numero supera 4 il demone scrive una data in un logfile e killa tutte le istanze altrimenti si mette in sleep per 4 secondi e poi riparte (tutto cioè è racchiuso dentro ad un while).
Lo script sembra funzionare correttamente solo che mi sono accorto che nonostante non faccia praticamente niente fa salire il carico della cpu e man mano che passano le ore e i giorni occupa sempre più memoria senza rilasciarla e non capisco come mai. Al contrario ho realizzato un processo che controlla se un altro processo è attivo e se non lo è lo richiama altrimenti anch'esso si mette in attesa per 4-5 secondi e poi riparte. Solo che in questo ultimo caso non ho ne una crescente occupazione di memoria ne tanto meno un carico elevato sulla CPU.
Vi allego le 2 righe di codice dello script in modo da capire se sbaglio qualcosa e se sapete consigliarmi su come poterlo modificare.

#!/bin/bash
while[1]
do
X=$(ps | grep -v grep | grep ./home/nome_processo | wc -l)
if [$X -gt 4]
then
/bin/date >> /home/log.txt
killall -9 pidof nome_processo
fi
sleep 4
done

Grazie a tutti
Ciao

Loading