tenho um script que é executado a cada hora no Cron
criei uma função pra verificar antes se não existe outro processo rodando, que funciona perfeitamente quando executo o script pelo prompt, mas quando o script é executado pelo Cron ele sempre encerra dizendo que já existe outro processo.
- Código: Selecionar todos
TMP_PID=/var/tmp/$SCRIPT.pid
PASTA=`dirname $0`; PASTA=`cd $PASTA; pwd`
PATH="$PATH:$PASTA"
# Garante a execucao de apenas uma instancia do script
if [ -s "$TMP_PID" ]; then
PID=`cat $TMP_PID`
if [ ! -z "`ps | grep $PID`" ]; then
echo "$PROG: outra instancia em execução PID=$PID em `date`" >&2
logger "$PASTA/$PROG abortado pois Outra instancia em execução PID=$PID"
exit 3
fi
fi
echo $$ > $TMP_PID
- Código: Selecionar todos
Aug 17 13:10:01 router user.notice root: /partition/trackerSQL/script.sh executado
Aug 17 13:10:01 router user.notice root: /partition/trackerSQL/script.sh abortado pois Outra instancia em execução PID=7670
mas o arquivo do PID está com horário de 12:18, não estava rodando este processo e mesmo assim ele tá parando