Código do último projeto.
#!/bin/bash
<<INTRO
Script para identificar e organizar 10 processos que estão a consumir mais a memória do sistema.
O comando-chave será o 'ps', integrados com outros comandos.
'bc' para operações matemáticas e 'date' para formtação de data e hora.
INTRO
if [ ! -d log_files ]
then
mkdir log_files
fi
processos_memoria(){
processos=$(ps -e -o pid --sort -size | head -n 11 | grep [0-9])
for pid in $processos
do
nome_processo=$(ps -p $pid -o comm=)
echo -n $(date +%F,%H:%M:%S,)>> log_files/$nome_processo.log
tamanho_processo=$(ps -p $pid -o size | grep [0-9])
echo "$(bc <<< "scale=2;$tamanho_processo/1024 ") MB" >> log_files/$nome_processo.log
done
}
processos_memoria
if [ $? -eq 0 ]
then
echo "Arquivos log salvos com sucesso."
else
echo "Houve alguma falha no processo."
fi