Autor Tópico: Como rodar shell script em instância única, sempre mantendo a versão mais nova?  (Lida 2516 vezes)

Offline wemersonrv

  • Usuário Ubuntu
  • *
  • Mensagens: 53
    • Ver perfil
Bom dia!

Tenho um shell script quer fica rodando o tempo todo monitorando um arquivo XML... quando um item específico muda seu valor, o script desliga o pc. Agora, preciso que esse script tenha apenas uma instância rodando e caso outra instância for executada, preciso que a instância antiga pare de rodar e só a nova seja executada...

Preciso assim porque muitas vezes o script pode ter seu código atualizado, então quando ele deve ser executado e não o antigo...

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Tenho um shell script quer fica rodando o tempo todo monitorando um arquivo XML...

Como? Não me diga que é um loop infinito (uma péssima ideia), se não é, na próxima chamada o script já vai ser o atual... mas se quiser, adicione um teste verificando os processos em execução e/ou crie uma trava.

Offline wemersonrv

  • Usuário Ubuntu
  • *
  • Mensagens: 53
    • Ver perfil
Sim, é um loop infinito... preciso que rode em loop infinito e não via cron, porque o script tem outras partes que não podem estar na cron...