Caros companheiros, boa tarde.
Após execução do script, os logs foram escritos, o diretório foi criado, porém, obtive esta saída junto com a mensagem de sucesso:
Código:
#!/bin/bash
if [ ! -d log ]
then
mkdir log
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/$nome_processo.log
tamanho_processo=$(ps -p $pid -o size | grep [0-9])
echo $( bc <<< "scale=2;$tamanho_processo/1024") MB" >> log/$nome_processo.log
done
}
processos_memoria
if [ $? -eq 0 ]
then
echo "Arquivos foram salvos com sucesso"
else
echo "Houve um problema na hora de salvar os arquivos"
fi
Saída:
burt@GLHVTC3:~/workspace/scripts$ bash processos-memoria.sh
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
Arquivos foram salvos com sucesso
Poderiam me tirar essa dúvida?
Obs: segue saída de meu ps -e
burt@GLHVTC3:~/workspace/scripts$ ps -e
PID TTY TIME CMD
1 ? 00:00:00 init
7 ? 00:00:00 init
8 ? 00:00:00 init
9 pts/0 00:00:00 bash
354 pts/0 00:00:00 ps
Será que é pela quantidade de processos menor que o "head" ?