Existe um utilitário simples chamado flock
que envolve um processo em um arquivo de trava e, por padrão, cria um bloqueio exclusivo. Isso significa que as execuções subsequentes do processo agrupadas pelo arquivo do lote falharão se a chamada anterior ainda estiver em execução.
Você também pode dizer ao flock para falhar imediatamente em vez de aguardar o bloqueio:
flock -xn /bin/yourcmd
Este binário é uma parte do pacote util-linux
, que deve estar disponível por padrão na sua distribuição escolhida.