Estava com um problema que causava congelamentos de até 10 minutos nas máquinas do JBoss em um cliente. Estes congelamentos eram intermitentes e aconteciam sempre no boot do JBoss.
A fim de fazer testes com várias configurações diferentes e gerar um relatório com dados precisos, escrevi um script que executa o init script do JBoss, espera ele inicializar completamente, grava o tempo de inicialização e mata o processo. Faz isso 50 vezes.
Estou postando ele aqui na esperança de ser útil para mais alguém. Ele é bastante auto-explicativo:
#!/bin/bash # Notes: all Java processes are going to the KILLED and # previous probe.log ERASED! JBOSS_LOG_FILE="/opt/jboss/server/default/log/server.log" REPEAT=50 START_STRING="Started in" RESULT_FILE="/root/probe.log-`date +%F`" > $RESULT_FILE for i in $(seq 1 $REPEAT); do # clean killall -9 java > $JBOSS_LOG_FILE # init and wait sh /etc/init.d/jboss start while [ "x$( grep "$START_STRING" $JBOSS_LOG_FILE )" == "x" ]; do sleep 1 done # log cat $JBOSS_LOG_FILE | grep "$START_STRING" >> $RESULT_FILE done echo "Done"
