Bloquear mais de uma execução simultânea do script (bash)
Dica publicada em Shell Script / Miscelânea
Bloquear mais de uma execução simultânea do script (bash)
Segue uma maneira de não deixar seu script ser executado duas vezes ao mesmo tempo, através de controle do PID.
ps fax | grep script.sh | grep -v grep | grep -v $$
if [ $? -eq 1 ]; then
echo "Primeira execução, script não esta sendo executado."
comandos a serem executados.
exit 0
else
echo "Script já esta sendo executado."
exit 1
fi
if [ $? -eq 1 ]; then
echo "Primeira execução, script não esta sendo executado."
comandos a serem executados.
exit 0
else
echo "Script já esta sendo executado."
exit 1
fi