Como o Ipor Sircer disse, lckdo
é provavelmente a escolha certa.
Dentro do script bash
, pode ser assim:
$ BASHPID é o script de execução do PID. Você pode salvá-lo em um arquivo e verificar se existe (ou melhor ainda verificar se o que contém PID ainda está ativo).
#!/usr/bin/env bash
PIDFILE="/foo/bar/script.pid"
# script running?
[[ -s $PIDFILE ]] && exit
# no, create pidfile
echo $BASHPID > $PIDFILE
# .. do some stuff
# delete pidfile
rm $PIDFILE